首页 > 后端开发 > Python教程 > 如何使用 Pandas 将数据附加到现有 Excel 工作表而不覆盖?

如何使用 Pandas 将数据附加到现有 Excel 工作表而不覆盖?

DDD
发布: 2024-12-25 05:57:13
原创
794 人浏览过

How Can I Append Data to an Existing Excel Sheet Using Pandas Without Overwriting?

使用 Pandas 写入现有 Excel 文件而不覆盖数据

使用 pandas 写入 Excel 文件而不覆盖现有数据时,当您想要添加将新工作表添加到先前创建的文件中。但是,pandas 的默认行为会覆盖整个文件,删除任何现有的选项卡。为了解决这个问题,我们可以利用 openpyxl 库。

Openpyxl 与 Pandas ExcelWriter 集成

Pandas 利用 openpyxl 来处理 XLSX 文件。通过将 ExcelWriter 中的“engine”参数显式设置为“openpyxl”,我们可以对文件内容进行更精细的控制。

代码实现

import pandas
from openpyxl import load_workbook

book = load_workbook('Masterfile.xlsx')
writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl')
writer.book = book

# Populate a dictionary of existing sheets for ExcelWriter
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)

# Write to the desired sheet without overwriting
data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2'])

writer.save()
登录后复制

在此代码中:

  • 我们使用 openpyxl 加载现有的 Excel 文件load_workbook。
  • 我们创建一个 Pandas ExcelWriter 对象,并将“engine”参数设置为“openpyxl”,将其链接到我们加载的工作簿。
  • 我们使用现有工作表填充 writer.sheets 字典防止 ExcelWriter 创建新的“主”工作表。
  • 我们将所需的数据写入“主”工作表而不覆盖工作簿中的任何其他部分。
  • 最后,我们保存更新的工作簿以保留更改。

以上是如何使用 Pandas 将数据附加到现有 Excel 工作表而不覆盖?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板