从嵌套字典列表生成 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 文件的主要内容,如果未能解决你的问题,请参考以下文章

从字典列表中创建嵌套的 json 对象

获取以索引为导向的嵌套字典中的键和值列表

从嵌套字典中返回密钥excel vba

如何使用熊猫规范化来自excel文件的嵌套字典数据

如何从从excel文件派生的大量字典中的值列表中查找最小值和最大值

Python - 将字典列表附加到嵌套的默认字典时出现关键错误