[英]How to parse complex JSON file format using pandas?
我想解析以下文件:( 完整的以下 json 文件的链接)
[ {
"team_id" : 776,
"team_name" : "Denmark",
"lineup" : [ {
"player_id" : 3027,
"player_name" : "Mathias Jattah-Njie Jørgensen",
"player_nickname" : "Zanka",
"jersey_number" : 13,
"country" : {
"id" : 61,
"name" : "Denmark"
}
}, {
"player_id" : 3043,
"player_name" : "Christian Dannemann Eriksen",
"player_nickname" : "Christian Eriksen",
"jersey_number" : 10,
"country" : {
"id" : 61,
"name" : "Denmark"
}
}, {
"player_id" : 3815,
"player_name" : "Kasper Schmeichel",
"player_nickname" : null,
"jersey_number" : 1,
"country" : {
"id" : 61,
"name" : "Denmark"
}
}, {
"player_id" : 6356,
"player_name" : "Michael Krohn-Dehli",
"player_nickname" : null,
"jersey_number" : 2,
"country" : {
"id" : 61,
"name" : "Denmark"
}
} ]
}, {
"team_id" : 785,
"team_name" : "Croatia",
"lineup" : [ {
"player_id" : 3444,
"player_name" : "Danijel Subašić",
"player_nickname" : null,
"jersey_number" : 23,
"country" : {
"id" : 56,
"name" : "Croatia"
}
}, {
"player_id" : 6308,
"player_name" : "Josip Pivarić",
"player_nickname" : null,
"jersey_number" : 22,
"country" : {
"id" : 56,
"name" : "Croatia"
}
} ]
} ]
基本上,我想要从这些 json 文件中解析每个国家的阵容。 我的代码:
with open(r'C:\Users\Catalin\Desktop\World Cup Data\data\lineups\7581.json', encoding='utf-8') as data_file: # r inainte de string ca sa il ia ca raw data
data = json.load(data_file)
df = pd.json_normalize(data, sep = "_")
export_csv = df.to_csv (r'C:\Users\Catalin\Desktop\TestLineup7581.csv', index = None, header=True)
我将 dataframe 导出为 csv 格式,因为我想看看 json 是如何被解析的,它看起来像这样:
所以,我的问题是,我还能使用什么其他 function 像 json_normalize() ? 如果存在。
pd.json_normalize(data, 'lineup')
应该做你想做的。 如果您想要team_id
和team_name
, pd.json_normalize(data, 'lineup', ['team_id', 'team_name'])
。
查看json_normalize
文档示例以获取更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.