首頁 > 後端開發 > Python教學 > 如何使用 Pandas 將新工作表新增至現有 Excel 檔案而不覆蓋現有資料?

如何使用 Pandas 將新工作表新增至現有 Excel 檔案而不覆蓋現有資料?

Linda Hamilton
發布: 2024-11-02 23:33:29
原創
1117 人瀏覽過

How Can I Add New Sheets to an Existing Excel File Using Pandas Without Overwriting Existing Data?

使用Pandas 在現有Excel 檔案中儲存新工作表

您的目標是將Python 處理的資料儲存在Excel 電子表格中,但在新增工作表時遇到挑戰到現有文件。提供的代碼引起了對覆蓋原始數據的擔憂。

背景

要建立新的Excel 工作表並保留現有的Excel 工作表,有兩個選項可用:

xlsxwriter

程式碼使用'xlsxwriter' 作為引擎來建立和保存Excel 檔案。但是,將後續工作表新增至相同文件中會覆寫先前的工作表。

openpyxl

為了克服這個問題,可以使用「openpyxl」作為引擎。它允許附加新工作表而不會遺失現有資料。

使用 openpyxl 實作

  1. 使用「load_workbook」載入現有 Excel 檔案。
  2. 建立一個以「openpyxl」為引擎的 ExcelWriter 物件。
  3. 將載入的工作簿指派給 ExcelWriter 的「book」屬性。
  4. 將新的 DataFrame 寫入所需的工作表。
  5. 關閉ExcelWriter以儲存變更。
<code class="python">path = r"C:\Users\fedel\Desktop\excelData\PhD_data.xlsx"

book = load_workbook(path)
writer = pd.ExcelWriter(path, engine='openpyxl')
writer.book = book

x3 = np.random.randn(100, 2)
df3 = pd.DataFrame(x3)

x4 = np.random.randn(100, 2)
df4 = pd.DataFrame(x4)

df3.to_excel(writer, sheet_name='x3')
df4.to_excel(writer, sheet_name='x4')
writer.close()</code>
登入後複製

理解程式碼

  • ws.title代表在載入的工作簿中每個工作表的工作表標題。
  • ws 表示每個工作表物件。
  • dict 用於建立字典,其中每個鍵是工作表標題,對應的值是工作表物件。

範例

提供的範例示範如何產生 Excel 文件,然後附加兩個附加文件不遺失原始資料的表。

以上是如何使用 Pandas 將新工作表新增至現有 Excel 檔案而不覆蓋現有資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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