【发布时间】:2021-04-26 03:13:53
【问题描述】:
我试图为每一列规范化这个 json API,但我做不到。我从这里尝试了几个关于这个主题的回复,但我找不到我的问题。 问题是因为有些情况下没有EMAIL
这是json数据:
data =[{'ID': '11348',
'NAME': 'Yanara',
'LAST_NAME': 'Araneda',
'LEAD_ID': '17772',
'EMAIL': [{'ID': '42400',
'VALUE_TYPE': 'WORK',
'VALUE': 'yanara.araneda.moraga@gmail.com',
'TYPE_ID': 'EMAIL'}]},
{'ID': '11346',
'NAME': 'Carlos ',
'LAST_NAME': 'Gonzalez ',
'LEAD_ID': '17782',
'EMAIL': [{'ID': '42390',
'VALUE_TYPE': 'WORK',
'VALUE': 'cmgclima@gmail.com',
'TYPE_ID': 'EMAIL'}]},
{'ID': '11344',
'NAME': 'Alcides',
'LAST_NAME': 'Gonzalez',
'LEAD_ID': '11006',
'EMAIL': [{'ID': '42376',
'VALUE_TYPE': 'WORK',
'VALUE': 'makogonzalez@gmail.com',
'TYPE_ID': 'EMAIL'}]}
{'ID': '9752',
'NAME': 'Oriana',
'LAST_NAME': 'Mejias',
'LEAD_ID': None}]]
我试过了
df = pd.json_normalize(data)
但是输出是:
ID NAME LAST_NAME LEAD_ID EMAIL
0 11348 Yanara Araneda 17772 {'ID': '42400', 'VALUE_TYPE': 'WORK', 'VALUE':...
1 11346 Carlos Gonzalez 17782 {'ID': '42390', 'VALUE_TYPE': 'WORK', 'VALUE':...
2 11344 Alcides Gonzalez 11006 {'ID': '42376', 'VALUE_TYPE': 'WORK', 'VALUE':...
谢谢
【问题讨论】:
-
你想达到什么目的?
json的期望输出是什么? -
JSON 中的 EMAIL 标签有一个嵌入列表。这可能意味着它将为未来数据集中的每个 ID 记录提供多个列表元素。根据您希望此输出的方式,您可能希望考虑将列表内容导出到一个单独的数据框,并将 ID 作为您可以加入的内容。
标签: python json pandas normalize