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

嵌套字典生成的DataFrame导出Excel仅显示部分列是什么原因

问题原因
  • 生成单条数据的DataFrame时使用orient='index'参数,会把字典的键转为行索引而非列名,每个单条字典对应的DataFrame仅有1个数值列
  • 拼接时通过keys参数生成的user_id行索引、字典键对应的行索引,在导出时被index=False参数全部丢弃,仅剩余原始的数值列被写入Excel
  • 额外设置的header=False会同时丢弃列名信息,也会提升内容识别的难度
修复后代码
import pandas as pd

user_ids = []
frames = []

for user_id, d in res_duplicate.items():
    for item in d:
        # 单条字典转1行DataFrame,字典键自动映射为列名
        temp_df = pd.DataFrame([item])
        # 把user_id作为普通列存入,避免依赖行索引存储
        temp_df['user_id'] = user_id
        frames.append(temp_df)

df = pd.concat(frames, ignore_index=True)
print(df)
# 无需保留自动生成的行索引,index=False可保留,不需要表头可自行加header=False
df.to_excel('C:/Users/user/Desktop/dict1.xlsx', index=False)
方案说明
  • pd.DataFrame([item])的转换方式符合表格存储的行逻辑,不需要额外处理索引转列的操作
  • 所有业务字段都以普通列的形式存储,导出时不会被index=False过滤
  • concat时设置ignore_index=True重置全局行索引,避免出现重复索引的异常问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 02:06:04