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

如何在同一Excel工作簿中结合Pandas ExcelWriter与XlsxWriter?

解决方案

核心是让Pandas的ExcelWriter与XlsxWriter共用同一个工作簿实例,避免独立操作导致的覆盖或工作表丢失问题,具体实现如下:

完整代码示例

import pandas as pd
import xlsxwriter

# 示例数据(替换为你的实际数据)
df = pd.DataFrame({'列1': [1, 2, 3], '列2': ['A', 'B', 'C']})
my_data = ['自定义内容1', '自定义内容2', '自定义内容3']

# 用Pandas ExcelWriter创建写入器,指定xlsxwriter引擎
with pd.ExcelWriter('Myexcel.xlsx', engine='xlsxwriter') as writer:
    # 将DataFrame写入指定工作表
    df.to_excel(writer, sheet_name='DF_Sheet', index=False)
    
    # 获取底层的XlsxWriter Workbook对象
    workbook = writer.book
    # 添加自定义工作表
    worksheet = workbook.add_worksheet('other_data')
    
    # 执行自定义写入逻辑(根据你的需求调整)
    row_num = 0
    for item in my_data:
        worksheet.write(row_num, 0, item)
        row_num += 1

原代码问题分析

你之前的代码中,xlsxwriter.Workbook('Myexcel.xlsx')和pd.ExcelWriter('Myexcel.xlsx')是两个完全独立的实例,操作的是同一个文件:

  • Pandas的ExcelWriter启动时会直接覆盖XlsxWriter创建的空工作簿
  • 两个实例的修改无法合并,导致后续基于第一个Workbook的操作完全无效

方案优势

  • 保留Pandas处理表格数据的便捷性,无需手动遍历DataFrame写入
  • 复用同一个工作簿实例,彻底解决文件覆盖、工作表丢失问题
  • 完全兼容XlsxWriter的所有自定义功能(如单元格格式、公式、图表等)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:02:24