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

如何用Pandas将数据复制到已有Excel工作簿且不覆盖原有内容?

解决Excel数据导入不覆盖原有内容的问题

你的判断完全正确——直接用pd.to_excel会覆盖目标工作表的全部内容,哪怕指定了起始行列也没用,因为Pandas默认会重新创建整个工作表。要保留原有公式、格式和列分组,必须基于已有的工作簿对象来写入DataFrame,而不是直接生成新文件。

下面给两种实用的解决方案:

方法一:用openpyxl配合Pandas

openpyxl是纯Python实现的xlsx读写库,能完整保留Excel原有格式。步骤如下:

  • 先加载目标工作簿,确保原有内容不丢失
  • 用ExcelWriter以追加模式打开,关联已加载的工作簿
  • 将DataFrame写入指定位置,仅覆盖目标区域的单元格

代码示例:

import pandas as pd
from openpyxl import load_workbook

# 读取原始数据集
data = pd.read_excel(
    '/Users/mikey/Desktop/Automating Financial Reporting/QBO Spreadsheets/Statement of Cash Flows/StatementofCashFlows-ABC.xlsx',
    sheet_name="Month"
)

# 目标文件和工作表信息
target_file = '/Users/mikey/Desktop/Automating Financial Reporting/QBO Spreadsheets/Statement of Cash Flows/StatementofCashFlows-ABCReporting.xlsx'
target_sheet = "ABC Cash Flows"

# 加载已有工作簿,保留所有原有内容
book = load_workbook(target_file)

# 以追加模式打开ExcelWriter,指定覆盖已有工作表的指定区域
with pd.ExcelWriter(target_file, engine='openpyxl', mode='a', if_sheet_exists='overlay') as writer:
    # 关联已有的工作表,避免创建新表
    writer.sheets = {ws.title: ws for ws in book.worksheets}
    # 将DataFrame写入指定行列,不写入索引和表头
    data.to_excel(writer, sheet_name=target_sheet, startcol=17, startrow=9, index=False, header=None)

方法二:用xlwings(更直观易读)

xlwings可以直接操控本地Excel应用,完全保留原有格式、公式和分组,写法更简洁:

import pandas as pd
import xlwings as xw

# 读取原始数据集
data = pd.read_excel(
    '/Users/mikey/Desktop/Automating Financial Reporting/QBO Spreadsheets/Statement of Cash Flows/StatementofCashFlows-ABC.xlsx',
    sheet_name="Month"
)

# 打开目标工作簿(visible=True可显示Excel窗口,False则后台运行)
with xw.Book('/Users/mikey/Desktop/Automating Financial Reporting/QBO Spreadsheets/Statement of Cash Flows/StatementofCashFlows-ABCReporting.xlsx') as book:
    # 获取目标工作表
    sheet = book.sheets["ABC Cash Flows"]
    # 从指定单元格开始写入数据(R对应第17列,9对应第9行)
    sheet.range('R9').value = data.values

注意:xlwings需要本地安装Excel应用,适合Windows/macOS环境;openpyxl纯Python实现,跨平台性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 17:52:44