首頁 >後端開發 >Python教學 >如何在 Python 中將 Pandas DataFrame 附加到現有 Excel 工作表而不覆寫?

如何在 Python 中將 Pandas DataFrame 附加到現有 Excel 工作表而不覆寫?

DDD
DDD原創
2024-12-03 12:49:11575瀏覽

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

使用Python Pandas 附加現有Excel 工作表和新資料框

問題:

您有現有現有的Excel 檔案和一個熊貓資料框。您想要將 DataFrame 附加到現有 Excel 工作表的末尾而不覆寫它。

解決方案:

將資料附加到現有Excel 有兩種主要方法使用Pandas 的工作表:

方法111 :使用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