我有一个类似这样的词典列表
[
{
"detail": {
"name": "boo",
"id": 1
},
"other": {
"gender": "m",
"no": "234"
}
},
{
"detail": {
"name": "hoo",
"id": 2
},
"other": {
"gender": "f",
"no": "456"
}
}
]
我想用以下格式在excel文件中打印这些数据
detail other
name id gender no
boo 1 m 234
hoo 2 f 456
简而言之,我想在父键列下的列中显示嵌套值。我怎样才能用熊猫来实现这个目标?
或者是他们的任何其他图书馆,我可以通过它来实现这一目标,因为大熊猫是沉重的。
答案 0 :(得分:1)
使用xhdpi
-
pd.io.json.json_normalize
这导致列名称看起来像这样 -
df = pd.io.json.json_normalize(data)
我们需要使用df.columns
Index(['detail.id', 'detail.name', 'other.gender', 'other.no'], dtype='object')
-
MultiIndex
df.columns.str.split
致电i = list(map(tuple, df.columns.str.split('.')))
并将结果分配回去 -
pd.MultiIndex.from_tuples
如果您的数据更复杂,您可能希望在列上进行额外的df.columns = pd.MultiIndex.from_tuples(i)
df
detail other
id name gender no
0 1 boo m 234
1 2 hoo f 456
调用 -
sort_index