【问题标题】:Transform JSON to tabular format with JSON input使用 JSON 输入将 JSON 转换为表格格式
【发布时间】:2019-12-16 19:06:37
【问题描述】:

我希望将 API 的响应转换为表格结构,其中所有键都将成为列名,相应的值将是各自的值。问题在于,在输出 JSON 中,属性“详细信息”中有多个随机键。我正在尝试实现列将是各自属性的输出,并且还想使用“详细信息”属性中的键创建列

我试过这个来转换,但由于我对 python 的了解有限,到目前为止我失败了。

[
  {
    "first_name": "Robert",
    "last_name": "Bradford",
    "Children": [
      "Jack",
      "Lindsey"
    ],
    "details": {
      "age": "42",
      "city": "New York",
      "state": "NY"
    }
  },
  {
    "first_name": "Simon",
    "last_name": "Warters",
    "Children": [
      "Megan"
    ],
    "details": {
      "age": "35",
      "city": "Buffalo",
      "pin": "14220",
      "secured": "yes",
      "citizen": "yes"
    }
  }
]

|----------|------------------|----- --|--------------------------------|-------------- -------|--------------------|-------------|- -----------------|------------------------------------| |名字 |姓氏 |儿童| 高分辨率照片| CLIPARTO年龄 |城市|状态 |销 |担保 |公民 | |----------------------|------------------|-------- ----------|------------------|----------------- -----|--------|---------|---- --------------|----------| |罗伯特 |布拉德福德 |杰克,林赛 | 42 |纽约 |纽约 | | | | |西蒙 |沃特斯 |梅根 | 35 |布法罗 | | 14220 |是的 |是的 | |----------------------|------------------|-------- ----------|------------------|----------------- -----|--------|---------|---- --------------|----------|

【问题讨论】:

    标签: python json python-2.7 api


    【解决方案1】:

    试试下面的代码,希望对你有帮助。

    from pandas.io.json import json_normalize
    
    data = [
      {
        "first_name": "Robert",
        "last_name": "Bradford",
        "Children": [
          "Jack",
          "Lindsey"
        ],
        "details": {
          "age": "42",
          "city": "New York",
          "state": "NY"
        }
      },
      {
        "first_name": "Simon",
        "last_name": "Warters",
        "Children": [
          "Megan"
        ],
        "details": {
          "age": "35",
          "city": "Buffalo",
          "pin": "14220",
          "secured": "yes",
          "citizen": "yes"
        }
      }
    ]
    train = json_normalize(data)
    
    print(train)
    

    阅读更多关于熊猫的信息,from here

    【讨论】:

    • 嗨@Shishir。我有 75+ 列,使用熊猫所有列都没有显示。我使用了 pd.set_option('display.max_columns', 100) 的选项,但是格式正在发生变化,后来很难定义值之间的分隔符以将它们与列对齐。唯一常见的分隔符是空格,但有空格的数据也会受到影响。
    猜你喜欢
    • 1970-01-01
    • 2021-10-15
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 2021-02-25
    相关资源
    最近更新 更多