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

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

Linda Hamilton
发布: 2024-12-10 16:13:12
原创
351 人浏览过

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

写入现有 Excel 文件而不覆盖:Pandas 解决方案

使用 pandas 处理 Excel 文件时,写入现有工作表而不覆盖现有数据可能是一个共同的挑战。当 pandas 使用 ExcelWriter 的默认行为(通过创建新工作表来覆盖现有数据)时,就会出现此问题。

要避免此问题,您可以利用 ExcelWriter 的“engine”参数,该参数允许您指定底层 Excel 引擎。通过将此参数设置为“openpyxl”,您可以将 openpyxl 的功能与 pandas 集成。

下面是解决问题的代码:

import pandas
from openpyxl import load_workbook

# Load the existing Excel workbook
book = load_workbook('Masterfile.xlsx')

# Create an ExcelWriter object using the openpyxl engine
writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl')

# Set the ExcelWriter's book attribute to the loaded workbook
writer.book = book

# Assign sheet names to the writer object's sheets attribute
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)

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

# Save the updated workbook
writer.save()
登录后复制

通过指定“openpyxl”引擎,修改后的代码利用 openpyxl 访问工作簿中现有工作表的能力。这允许 pandas 将数据附加到“Main”工作表,而不会覆盖其他选项卡。

请注意,在运行此代码之前,您必须确保“Main”工作表存在于原始工作簿中,以避免在以下情况下创建新工作表:该工作表不存在。

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

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