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

使用pandas替换Excel指定工作表数据且不删除其余工作表的问题求解

替换Excel指定工作表且保留其余工作表的解决方案

问题原因

直接使用DataFrame.to_excel()写入已有Excel文件时,pandas默认会新建文件覆写原文件,因此会删除原文件内所有其他工作表。

解决方案

需要借助openpyxl引擎操作已有工作簿,只替换目标工作表:

适用pandas 1.4.0及以上版本

import pandas as pd

# 替换为你的Weekly Report.xlsx实际路径
target_file = directory + 'Weekly Report.xlsx'

with pd.ExcelWriter(
    target_file,
    engine='openpyxl',
    mode='a', # 追加模式,不覆盖原有文件内容
    if_sheet_exists='replace' # 目标工作表存在时直接替换
) as writer:
    df2.to_excel(writer, sheet_name='Weekly SAP extract', index=False)

适用低版本pandas

import pandas as pd
from openpyxl import load_workbook

target_file = directory + 'Weekly Report.xlsx'
# 加载原有工作簿
wb = load_workbook(target_file)
# 先删除已存在的目标工作表
if 'Weekly SAP extract' in wb.sheetnames:
    del wb['Weekly SAP extract']

with pd.ExcelWriter(target_file, engine='openpyxl') as writer:
    writer.book = wb
    # 同步原有工作表信息,避免丢失
    writer.sheets = {sheet.title: sheet for sheet in wb.worksheets}
    df2.to_excel(writer, sheet_name='Weekly SAP extract', index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:06:06