使用 Python Pandas 将新数据框附加到现有 Excel 工作表
在本文中,我们将探讨如何将新数据框附加到现有数据框使用 Python 的 Excel 电子表格Pandas。
问题:
使用 Pandas to_excel() 函数将新数据框附加到现有 Excel 工作表会覆盖现有数据。目标是将新数据附加到当前工作表的末尾,保留现有内容。
解决方案:
要解决此问题,我们可以利用以下步骤:
加载现有的工作簿:
准备新的数据框:
创建新的工作簿编写器:
写新的数据框:
将单元格从新单元格复制到现有单元格Sheet:
删除新的工作表:
保存并关闭工作簿:
示例:
import pandas as pd import openpyxl from openpyxl.utils import get_column_letter # Load existing workbook workbook = openpyxl.load_workbook("existing_excel.xlsx") sheet_names = workbook.sheetnames # Prepare new dataframe new_df = pd.DataFrame({ "Name": ["Alice", "Bob", "Carol"], "Age": [25, 30, 35] }) # Create new workbook writer with pd.ExcelWriter("existing_excel.xlsx", engine="openpyxl", mode="a", if_sheet_exists="new") as writer: # Write new dataframe new_df.to_excel(writer, sheet_name="NewData", index=False) # Get worksheet objects new_sheet = writer.sheets["NewData"] existing_sheet = workbook["ExistingData"] # Get last row in existing sheet last_row = existing_sheet.max_row # Copy cells from new sheet to existing sheet copy_excel_cell_range( src_ws=new_sheet, tgt_ws=existing_sheet, src_min_row=2, src_max_row=new_sheet.max_row, tgt_min_row=last_row + 1, with_style=True ) # Remove temporary sheet workbook.remove(new_sheet) # Save and close workbook.save("existing_excel.xlsx")
通过遵循此方法,您可以将新数据无缝附加到现有 Excel 工作表,而无需覆盖现有内容.
以上是如何使用 Pandas 将新的 DataFrame 添加到 Python 中的现有 Excel 工作表?的详细内容。更多信息请关注PHP中文网其他相关文章!