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

如何在循环中将每个生成的data_list写入Excel的独立工作表?

解决Excel多工作表写入覆盖问题

问题核心是你每次循环都重新创建ExcelWriter实例,这会导致每次写入都覆盖整个文件。正确的做法是仅初始化一次ExcelWriter,在循环内持续添加新工作表,最后统一完成文件保存。

修改后的代码如下:

start = 0
finish = 1
datas = response.json()

# 将ExcelWriter初始化放在循环外部
writer = pd.ExcelWriter('test.xlsx')

while finish < 11:
    data = datas[start:finish]

    data_list = []
    # some code for generating the data_list

    df = pd.DataFrame(data_list)
    # 向已有的writer实例中添加新工作表
    df.to_excel(writer, sheet_name=f'{finish}', index=False)

    finish += 1
    start += 1

# 所有工作表添加完成后,统一保存文件
writer._save()

关键改动说明

  • 把pd.ExcelWriter('test.xlsx')移到循环外,确保整个过程只打开一次目标文件,避免重复覆盖。
  • 循环内仅执行df.to_excel()操作,通过指定不同的sheet_name来创建独立工作表。
  • 所有循环逻辑完成后,再调用writer._save()完成最终的文件写入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 21:34:58