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

如何在 Python 中将 Pandas DataFrame 附加到现有 Excel 工作表而不覆盖?

DDD
DDD原创
2024-12-03 12:49:11627浏览

How Can I Append a Pandas DataFrame to an Existing Excel Sheet in Python Without Overwriting?

使用 Python Pandas 附加现有 Excel 工作表和新数据框

问题:

您有一个现有的 Excel 文件和一个熊猫数据框。您想要将 DataFrame 附加到现有 Excel 工作表的末尾而不覆盖它。

解决方案:

将数据附加到现有 Excel 有两种主要方法使用 Pandas 的工作表:

方法 1:使用ExcelWriter

import pandas as pd

df = pd.DataFrame(...)

with pd.ExcelWriter('existing_sheet.xlsx', mode='a', engine='openpyxl') as writer:
    df.to_excel(writer, sheet_name='Sheet1', header=False, index=False, startrow=writer.sheets['Sheet1'].max_row + 1)

方法 2:使用 Openpyxl 和 Pandas

import pandas as pd
from openpyxl import load_workbook

df = pd.DataFrame(...)

# Load existing Excel workbook
book = load_workbook('existing_sheet.xlsx')
sheet = book['Sheet1']

# Find last row in existing Excel sheet
last_row = sheet.max_row

# Append DataFrame data to existing sheet starting from last row + 1
pd.DataFrame.to_excel(df, book, sheet_name='Sheet1', startrow=last_row + 1, index=False)

# Save changes to existing Excel file
book.save('existing_sheet.xlsx')

其他提示:

  • 如果sheet不存在,Pandas会自动创建它。
  • 您可以使用 startrow 参数指定附加数据的起始行。
  • 要保留现有单元格样式,请在使用 Openpyxl 和 Pandas 方法时在 copy_excel_cell_range 函数中设置 with_style=True .
  • 对于 Pandas 版本
  • 1.4.0,使用链接代码示例中的辅助函数来追加数据而不覆盖。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn