假设这是我的 JSON:
ds = [{
"name": "groupa",
"subGroups": [{
"subGroup": 1,
"people": [{
"firstname":"Tony",
},
{
"firstname":"Brian"
}
]
}]
},
{
"name": "groupb",
"subGroups": [{
"subGroup": 1,
"people": [{
"firstname":"Tony",
},
{
"firstname":"Brian"
}
]
}]
}
]
Run Code Online (Sandbox Code Playgroud)
我通过执行以下操作创建一个数据框:
df = json_normalize(ds, record_path =['subGroups', 'people'], meta=['name'])
Run Code Online (Sandbox Code Playgroud)
这给了我:
firstname name
0 Tony groupa
1 Brian groupa
2 Tony groupb
3 Brian groupb
Run Code Online (Sandbox Code Playgroud)
但是,我还想包括 subGroup 列。
我尝试:
df = json_normalize(ds, record_path =['subGroups', 'people'], meta=['name', 'subGroup'])
Run Code Online (Sandbox Code Playgroud)
但这给出了:
KeyError: 'subGroup'
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
json_normalize(
ds,
record_path=['subGroups', 'people'],
meta=[
'name',
['subGroups', 'subGroup'] # each meta field needs its own path
],
errors='ignore'
)
firstname name subGroups.subGroup
0 Tony groupa 1
1 Brian groupa 1
2 Tony groupb 1
3 Brian groupb 1
Run Code Online (Sandbox Code Playgroud)