You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将含列表值的字典转DataFrame并导出Excel,如何拆分列表为多行?

解决字典转DataFrame后列表值拆分多行的问题

你遇到的核心问题是字典中部分字段为列表类型,直接转DataFrame时会将整个列表作为单个单元格内容,用explode()方法就能拆分这些列表为多行,同时保留其他字段的对应值。

解决方案代码

1. 指定列拆分(已知哪些列是列表)

import pandas as pd

# 字典转DataFrame
listDataFrame = pd.DataFrame.from_dict(Data)
# 拆分指定的列表列,多列可传入列表如explode(["col1", "col2"])
listDataFrame = listDataFrame.explode("需要拆分的列名")
# 导出Excel,注意布尔值用小写True/False,index=False可去掉索引列
listDataFrame.to_excel(fullpath, sheet_name="Sheet1", index=False)

2. 自动识别列表列并拆分(不确定哪些列是列表)

如果字典中列表列不固定,可以先自动检测:

import pandas as pd

listDataFrame = pd.DataFrame.from_dict(Data)
# 筛选出值为列表类型的列
list_columns = [col for col in listDataFrame.columns if isinstance(listDataFrame[col].iloc[0], list)]
# 批量拆分这些列
listDataFrame = listDataFrame.explode(list_columns)
# 导出Excel
listDataFrame.to_excel(fullpath, sheet_name="Sheet1", index=False)

注意事项

  • 你原代码中的index=TRUE会报错,Python布尔值需小写,用index=True或index=False(推荐后者,避免导出不必要的索引列)。
  • 如果字典中存在嵌套更深的列表结构,可能需要额外处理,但常规的一维列表用explode()即可解决。

内容的提问来源于stack exchange,提问作者muraliprasanthd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 15:40:34