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

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

DDD
發布: 2024-12-03 12:49:11
原創
639 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板