首頁  >  文章  >  後端開發  >  如何使用 Pandas 將新工作表新增至現有 Excel 檔案?

如何使用 Pandas 將新工作表新增至現有 Excel 檔案?

Barbara Streisand
Barbara Streisand原創
2024-11-03 07:06:301043瀏覽

How to Add New Sheets to an Existing Excel File Using Pandas?

使用Pandas 在現有Excel 檔案中產生新工作表

在Python 中處理Excel 資料時,使用者可能會遇到將新工作表儲存到現有Excel 文件的挑戰。本指南提供了使用 Pandas 函式庫的解決方案,涵蓋了「xlsxwriter」引擎的限制和「openpyxl」引擎的實作。

理解問題

在給定的程式碼中,使用者建立一個包含兩個工作表「x1」和「x2」的 Excel 檔案。但是,嘗試新增工作表“x3”和“x4”會覆蓋原始資料。發生這種情況的原因是「xlsxwriter」引擎僅將資料儲存到新檔案或覆蓋現有檔案。

使用「openpyxl」引擎的解決方案

要在新增工作表時保留現有數據,請使用「openpyxl」引擎。以下程式碼示範了這個方法:

<code class="python">import pandas as pd
import numpy as np
from openpyxl import load_workbook

path = r"C:\Users\fedel\Desktop\excelData\PhD_data.xlsx"

book = load_workbook(path)  # Load the existing Excel file
writer = pd.ExcelWriter(path, engine='openpyxl')  # Create a Pandas writer connected to the workbook
writer.book = book  # Assign the workbook to the Pandas writer

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')  # Write the new dataframes to the existing file
df4.to_excel(writer, sheet_name='x4')

writer.close()  # Save the changes to the file</code>

說明

  1. 載入現有Excel 檔案:此行使用下列指令將現有Excel 檔案讀取取到工作簿物件中load_workbook 函數。
  2. 建立 Pandas writer:這裡使用 engine='openpyxl' 參數建立一個 Pandas ExcelWriter,該參數指定使用「openpyxl」引擎。
  3. 將工作簿指派給 writer:writer.book 屬性設定為載入的工作簿對象,將 Pandas writer 連結到現有檔案。
  4. 產生新檔案dataframes:與原始程式碼類似,建立新的資料幀(「x3」和「x4」)。
  5. 寫入新資料幀:新資料幀儲存到現有檔案中使用 to_excel 方法,指定工作表名稱(“x3”和“x4”)。
  6. 儲存變更:最後,Pandas writer 所做的變更將儲存到 Excel 檔案中呼叫 writer.close() 方法。

WebSocket、ws 和Dict

在給定連結的建議程式碼中:

  • WebSocket (ws):指指🎜>
  • WebSocket (ws)
  • :指指的是載入的工作簿中的每個工作表。
  • ws.title
  • :代表工作簿中特定工作表的名稱。
  • Dict
:程式碼使用字典在工作表名稱和工作表物件之間建立映射。這允許 Pandas 編寫器存取載入的工作簿中的特定工作表。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn