You need to enable JavaScript to run this app. 如何使用Python pandas将多个工作表导出到同一个Excel文件中
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python pandas将多个工作表导出到同一个Excel文件中

pandas多工作表导出到同一Excel的实现方案

直接调用DataFrame.to_excel('test.xlsx')每次都会覆盖原文件,所以只能保留最后一次写入的工作表,你需要用ExcelWriter对象统一管理写入动作:

基础写入(覆盖原有文件)

假设你有多个待导出的DataFrame,写法如下:

import pandas as pd

# 示例数据,替换为你自己的DataFrame
df_sale = pd.DataFrame({'商品': ['A','B','C'], '销量': [100,200,300]})
df_stock = pd.DataFrame({'商品': ['A','B','C'], '库存': [50,120,80]})

# 初始化写入对象,with语句会自动处理文件关闭
with pd.ExcelWriter('test.xlsx', engine='openpyxl') as writer:
    # 每个sheet对应一次to_excel调用,指定sheet名称
    df_sale.to_excel(writer, sheet_name='销量数据', index=False)
    df_stock.to_excel(writer, sheet_name='库存数据', index=False)

参数说明:

  • index=False:导出时不携带pandas默认的行索引,不需要可以删除该参数
  • engine='openpyxl':xlsx格式的写入依赖库,未安装的话执行pip install openpyxl即可

追加写入(不覆盖原有Excel内容)

如果需要在已有Excel文件里新增工作表,修改mode参数即可:

with pd.ExcelWriter('test.xlsx', engine='openpyxl', mode='a', if_sheet_exists='replace') as writer:
    df_user.to_excel(writer, sheet_name='用户数据', index=False)

if_sheet_exists参数可选值:

  • replace:覆盖同名sheet
  • new:自动给重名sheet加后缀避免冲突
  • error:遇到同名sheet直接报错

注意:pandas 1.4.0及以上版本才支持if_sheet_exists参数,低版本需要自行判断sheet是否存在后再写入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 22:36:03