【问题标题】:Transforming a row-based JSON in a column-based JSON in PYTHON在 PYTHON 中将基于行的 JSON 转换为基于列的 JSON
【发布时间】:2020-12-13 10:57:07
【问题描述】:

想要将基于行的 JSON 转换为基于列的 JSON。我以基于行的形式接收 JSON,并将对其进行一些可视化,这在基于列的形式中会更容易。

基于行的看起来像这样:

{
  "0": {
    "fname": "John", 
    "lname": "Miller", 
    "age": 50
  }, 
  "1": {
    "fname": "Eve", 
    "lname": "Johnson", 
    "age": 40
  }...

基于列的示例:

{
  "fname": {
    "0" : "John", 
    "1" : "Eve"
  }, 
  "lname": {
    "0" : "Miller", 
    "1" : "Johnson"
  }, 
  "age": {
    "0": 50, 
    "1" : 40
  }...

有没有比循环遍历所有元素并用 python 完全重写 JSON 更有效的方法?

谢谢!

【问题讨论】:

  • 你必须将 JSON 字符串读入 Python 对象,然后提取你想要的属性,然后按照你想要的顺序写出来。这里没有魔法。

标签: python json


【解决方案1】:

你应该使用 pandas 模块,很合适。

import pandas as pd
data = '''
{ "0": { "fname": "John", "lname": "Miller", "age": 50 }, "1": { "fname": "Eve", "lname": "Johnson", "age": 40 }}
'''
dataNew = pd.read_json(data,orient='index').to_json()
print(dataNew)

{"fname":{"0":"John","1":"Eve"},"lname":{"0":"Miller","1":"Johnson"},"age ":{"0":50,"1":40}}

【讨论】:

    猜你喜欢
    • 2017-10-06
    • 2021-10-30
    • 2012-03-08
    • 2019-11-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 2014-05-08
    • 1970-01-01
    相关资源
    最近更新 更多