如何在Python DataFrame中访问嵌套的JSON对象

时间:2019-04-26 01:25:01

标签: python json pandas csv

我有一个JSON响应,正在将其转换为Python中的DataFrame。

JSON响应:

[
  {
    "id": 123456,
    "first_name": "John",
    "last_name": "Doe",
    "fields": [
      {
        "title": "ABC",
        "value": "123"
      },
      {
        "title": "DEF",
        "value": "456"
      }
    ]
  }
]

当我将此JSON解析为DataFrame时,这些列显示为id,first_namelast_namefieldsfields列包含两个嵌套的JSON对象:

[{"title": "ABC","value": "123"},{"title": "DEF","value": "456"}]

如何将fields中的两个对象拆分为自己的列?

对于上下文,我试图将DataFrame的结果打印到一个csv文件中,其中fields中的每个对象都有自己的列。

1 个答案:

答案 0 :(得分:2)

IIUC我正在使用json_normalize

from pandas.io.json import json_normalize
json_normalize(j, 'fields', ['id', 'first_name', 'last_name'])
Out[1281]: 
  title value last_name first_name      id
0   ABC   123       Doe       John  123456
1   DEF   456       Doe       John  123456

数据输入

j=[
  {
    "id": 123456,
    "first_name": "John",
    "last_name": "Doe",
    "fields": [
      {
        "title": "ABC",
        "value": "123"
      },
      {
        "title": "DEF",
        "value": "456"
      }
    ]

  }

]