从嵌套字典列表生成 excel 文件
Posted
技术标签:
【中文标题】从嵌套字典列表生成 excel 文件【英文标题】:Generate excel file from list of nested dictionaries 【发布时间】:2022-01-22 02:21:17 【问题描述】:我有这样的列表(简化版):
data = ['layer1': ['idx': 'idx_102',
'size': 8 ,
'idx': 'idx_112',
'size': 25 ,
'idx': 'idx_142',
'size': 10 ]
,
'layer2': ['idx': 'idx_125',
'size': 28 ,
'idx': 'idx_258',
'size': 21 ,
'idx': 'idx_658',
'size': 12 ]
,
'layer3': ['idx': 'idx_158',
'size': 78 ]
]
excel文件的结构应该是这样的:
有人可以帮忙吗,我迷失了 Pandas
【问题讨论】:
此数据是否来自 json?否则json_normalize 可能会有所帮助。 @Paul 谢谢我也会检查这个文档 【参考方案1】:将嵌套列表与字典推导一起使用:
L = [**'layer': k, **x for d in data for k, v in d.items() for x in v]
df = pd.DataFrame(L)
print (df)
layer idx size
0 layer1 idx_102 8
1 layer1 idx_112 25
2 layer1 idx_142 10
3 layer2 idx_125 28
4 layer2 idx_258 21
5 layer2 idx_658 12
6 layer3 idx_158 78
如果需要,最后删除重复项:
df.loc[df['layer'].duplicated(), 'layer'] = ''
print (df)
layer idx size
0 layer1 idx_102 8
1 idx_112 25
2 idx_142 10
3 layer2 idx_125 28
4 idx_258 21
5 idx_658 12
6 layer3 idx_158 78
【讨论】:
以上是关于从嵌套字典列表生成 excel 文件的主要内容,如果未能解决你的问题,请参考以下文章