[英]Load Json Nested to Dataframe Pandas
stackoverflow, please help me. stackoverflow,请帮助我。 i have json file.json like this.
我有这样的 json file.json。
{"info":[
{"name":"LYDIANA","address":[{"home":"San Francisco"},{"work":"Carolina"}],"emails":[],"phones":[{"work":"1234567"},{"home":"4323455"}]},
{"name":"John Doe","address":[{"home":"Laguna"},{"work":"Ivory"}],"emails":[{"email":"john@gmail.com"},{"email":"doe@gmail.com"}],"phones":[{"work":"5435435"},{"work":"8678678"}]}
]}
how to create dataframe pandas like this?如何创建这样的数据框熊猫?
name address phones
LYDIANA home: San Francisco | work: Carolina 1234567
LYDIANA home: San Francisco | work: Carolina 4323455
John Doe home: Laguna | work: Ivory 5435435
John Doe home: Laguna | work: Ivory 8678678
import pandas as pd
dct = {"info":[
{"name":"LYDIANA","address":[{"home":"San Francisco"},{"work":"Carolina"}],"emails":[],"phones":[{"work":"1234567"},{"home":"4323455"}]},
{"name":"John Doe","address":[{"home":"Laguna"},{"work":"Ivory"}],"emails":[{"email":"john@gmail.com"},{"email":"doe@gmail.com"}],"phones":[{"work":"5435435"},{"work":"8678678"}]}
]}
all_data = []
for row in dct['info']:
all_data.append({
'name': row['name'],
'address': ' | '.join('{}: {}'.format(k, v) for a in row['address'] for k, v in a.items()),
'phones': [v for p in row['phones'] for v in p.values()]
})
df = pd.DataFrame(all_data).explode('phones')
print(df)
Prints:印刷:
name address phones
0 LYDIANA home: San Francisco | work: Carolina 1234567
0 LYDIANA home: San Francisco | work: Carolina 4323455
1 John Doe home: Laguna | work: Ivory 5435435
1 John Doe home: Laguna | work: Ivory 8678678
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.