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

Python将字典列表导出Excel时仅显示最后一条数据如何解决

问题原因

  • 循环中重复覆盖excel_dict的同名键,循环结束后字典仅保留最后一条数据
  • 每次循环都执行df.to_excel()默认覆盖写入,前面生成的内容会被后续内容完全替换
  • 多余的df.T转置操作,和你要的「姓名、年龄作为列标题」的需求完全相反

修复方案

pandas原生支持直接将字典列表转换为DataFrame,无需手动循环处理,直接用以下代码即可实现需求:

import pandas as pd

people = [
{
    'name':'corey', 
    'age':12,
},
{
    'name':'matt', 
    'age':15,
},
{
    'name':'evan', 
    'age':25
}]

# 直接基于字典列表生成DataFrame
df = pd.DataFrame(people)
# 导出到Excel,无需保留默认索引列
df.to_excel('dict1.xlsx', index=False)

运行后生成的Excel文件会自动将name、age作为列标题,对应数据逐行填充在标题下方。

循环实现的可选写法

如果需要练习循环逻辑,可以按以下方式修改,每次循环将单条数据追加到列表,最后统一生成DataFrame导出:

import pandas as pd

people = [
{
    'name':'corey', 
    'age':12,
},
{
    'name':'matt', 
    'age':15,
},
{
    'name':'evan', 
    'age':25
}]

data_list = []
for person in people:
    data_list.append({
        'name': person['name'],
        'age': person['age']
    })

df = pd.DataFrame(data_list)
df.to_excel('dict1.xlsx', index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 21:45:02