我需要使用pandas模块解析并展平python中的嵌套json。
源JSON:
{
"people": [{
"name": "ABC",
"age": "33",
"mobile": "44545",
"location": "hyderabad",
"interests": [{
"hobby": "dancing",
"food": "continental",
"city": "Paris"
}]
},
{
"name": "DEF",
"age": "11",
"mobile": "12121212",
"location": "pune",
"interests": [{
"hobby": "reading",
"food": "Pizza",
"city": "France"
}]
}
]
}
从上面的源json文件中,我需要获得两个不同的json文件,如下所示:
输出json1:
{"name": "ABC", "age": "33", "mobile": "44545", "location": "hyderabad"}
{"name": "DEF", "age": "11","mobile": "12121212", "location": "pune”}
输出json2:
{"name": "ABC”, ”interests_hobby”:”dancing”, “interests_food”:”continental”, “interests_city”:”Paris”}
{“name": "DEF”, ”interests_hobby”:”reading”, “interests_food”:”Pizza”, “interests_city”:”France”}
条件是我们必须使用python和pandas模块。(pd.json_normalize(
首先,您必须打开json文件并加载它。然后,使用命令
df = pd.json_normalize(json_obj, record_path="people")
以获得具有所需字段的DataFrame。正如您将看到的,字段";利益;将不会被拆分,但您可以重新执行这些步骤。
为了获得具有所需输出的json文件,我建议您使用
df.to_json(orient='records')
它从DataFrame返回一个带有out索引的json文件。