我想解析以下文件:(完整的以下 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)
我将数据帧导出为 csv 格式,因为我想看看 json 是如何解析的,它看起来像这样:
所以,我的问题是,我可以使用其他什么函数,比如 json_normalize()?如果存在。
pd.json_normalize(data, 'lineup')
应该做你想做的。如果你想要team_id
和team_name
,把pd.json_normalize(data, 'lineup', ['team_id', 'team_name'])
.
查看json_normalize
文档示例以获取更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句