【发布时间】:2019-10-16 00:33:52
【问题描述】:
我有一个示例数据如下。以下属性属于 [data] 字典。在 "XXXX" 我有值 "Naveen" 在 "YYYYY" 我有 "Kumar" 和 "Rajesh" 。我正在尝试使用下面的代码来获得 2 个记录的输出
有什么建议请帮忙
{
"data": [
{
"Empid": "1234",
"Empname": "ABC",
"data1": {
"XXXX": [
{
"relative": {
"id": "Naveen"
}
}
],
"YYYYY": [
{
"relative": {
"id": "Kumar"
}
},
{
"relative": {
"id": "Rajesh"
}
}
]
}
}
]
}
请找到下面的代码(我正在尝试)
df = pd.DataFrame()
for i in range(len(json_file['data'])):
temp = {}
temp['Empid'] = json_file['data'][i]['Empid']
temp['EmpName'] = json_file['data'][i]['EmpName']
for key in json_file['data'][i]['data1'].keys():
try:
for j in range(len(json_file['data'][i]['data1'][key])):
temp[key] = json_file['data'][i]['data1'][key][j]['relative']['id']
except:
temp[key] = None
temp_df = pd.DataFrame([temp])
df = pd.concat([df, temp_df], sort=True)
我想要达到的最终输出
EmpID EmpName XXXX YYYYY
1234 ABC Naveen Kumar
1234 ABC Nan Rajesh
但我只得到 1 条记录
EmpID EmpName XXXX YYYYY
1234 ABC Naveen Kumar
请帮我提任何建议
【问题讨论】:
-
['data']和['relTo']是什么? -
@HippolyteBRINGER。嗨,Bringer,在示例记录中添加了更多详细信息。抱歉打错了。
-
谢谢,您尝试使用
temp创建一个 csv 文件?你可以创建一个矩阵而不是 dico 吗? -
@HippolyteBRINGER 是的。我需要将这些数据创建到 csv 文件中。矩阵而不是 Dico 意味着..? (我对 python 完全陌生,请不要介意)。
-
@HippolyteBRINGER -- 如何创建矩阵...?
标签: python json pandas dataframe multi-index