我需要帮助〜
有一个json数据(下面的示例)。我正在尝试使用Python创建一个数据框。 JSON:
我想保存为Excel。
谢谢!
data = {'2': {'groupNo': '29',
'korea': '1',
'makeName': 'hyundai',
'makerCnt': None,
'makerNo': '49',
'model': [{'car_cnt': None,
'depth': 2,
'm_img': None,
'name': 'avante (15~19year)',
'no': '908',
'relDay': '00000000',
'sort': 143}],
'name': 'avante'},
'4': {'groupNo': '30',
'korea': '1',
'makeName': 'hyundai',
'makerCnt': None,
'makerNo': '49',
'model': [{'car_cnt': '16',
'depth': 2,
'm_img': None,
'name': 'genesis (15~19year)',
'no': '1463',
'relDay': 20150827,
'sort': 95},
{'car_cnt': '50',
'depth': 2,
'm_img': None,
'name': 'genesis (12~15year)',
'no': '1012',
'relDay': 20081000,
'sort': 96},
{'car_cnt': '82',
'depth': 2,
'm_img': None,
'name': 'genesis (10~12year)',
'no': '1589',
'relDay': 20150101,
'sort': 97},
{'car_cnt': '67',
'depth': 2,
'm_img': None,
'name': 'genesis (08~10year)',
'no': '933',
'relDay': 20080100,
'sort': 98}],
'name': 'genesis'}
}
pd.DataFrame(data)不起作用
如何将json数据转换为下面的示例的数据框?
id groupNO korea makeName name model
2 29 1 hyundai avante avante (15~19year)
4 30 1 hyundai genesis genesis (15~19year)
4 30 1 hyundai genesis genesis (12~15year)
4 30 1 hyundai genesis genesis (10~12year)
谢谢!
答案 0 :(得分:0)
代码结果是您想要的键
def get_decode_dict(data,needKey):
out_value=None
#print(needKey)
for key, value in data.items():
if key==needKey:
return value
elif isinstance(value, dict):
out_value = get_decode_dict(value,needKey)
elif out_value!=None:
return out_value
return out_value
def get_decode_list(data,needKey):
value=None
for item in data:
if isinstance(item, dict):
value = get_decode_dict(item,needKey)
elif value!=None:
return value
return value
def main():
data={'2'{}} #you data dict
for key,value in data.items():
print("id: "+key)
print("groupNo: "+get_decode_dict(value,"groupNo"))
print("korea: "+get_decode_dict(value,"korea"))
print("makeName: "+get_decode_dict(value,"makeName"))
print("name: "+get_decode_dict(value,"name"))
model=get_decode_dict(value,"model")
print("model: "+get_decode_list(model,"name"))
main()