我尝试为每一列规范化这个json API,但我做不到。我在这里尝试了几个关于这个话题的回复,但是我找不到关于我的问题的回复。 问题是因为有些情况下没有电子邮件
这是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':...
谢谢
不太清楚您想要的输出是什么,但这可能会有所帮助吗
问题是
'EMAIL'
字段具有嵌套列表而不是字典。如果是的话,pd.json_normalize
仍然可以将其作为嵌套的json进行展平对于这种情况,您可以将
pd.json_normalize
与不同的record_path
一起使用,然后将这两个表组合在一起以创建一个平面表如果您的数据没有
'EMAIL'
的列表值,那么获取所需内容将非常容易。只有pd.json_normalize(data)
就足够了相关问题 更多 >
编程相关推荐