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

如何使用 Pandas 將新工作表附加到現有 Excel 檔案?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-04 11:04:30196瀏覽

How to Append New Sheets to Existing Excel Files Using Pandas?

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

Pandas 提供了一個方便的介面來處理 Excel 檔案。然而,將新工作表儲存到現有文件時,使用者經常會遇到挑戰。本文解決了這個問題並提供了全面的解決方案。

現有程式碼:

提供的程式碼將兩個DataFrame 儲存到兩張表中,但無法在不遺失資料的情況下新增更多表由於關閉ExcelWriter對象而產生的原始資料。

最佳方法:

理想的工作流程包括建立 Excel 檔案、儲存一些資料、關閉 ExcelWriter,然後重新開啟它可以新增更多紙張。這種方法可確保資料保存。

Openpyxl 整合:

要附加工作表而不遺失數據,Pandas 可以使用 Openpyxl。 Openpyxl 允許直接操作 Excel 檔案。透過使用 load_workbook 載入現有檔案並將其設定為 ExcelWriter 的書,我們可以新增工作表而不影響現有工作表。

完整範例:

這裡有一個完整範例:

<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"

# Generate initial data
x1 = np.random.randn(100, 2)
df1 = pd.DataFrame(x1)

x2 = np.random.randn(100, 2)
df2 = pd.DataFrame(x2)

# Write initial sheets
writer = pd.ExcelWriter(path, engine='xlsxwriter')
df1.to_excel(writer, sheet_name='x1')
df2.to_excel(writer, sheet_name='x2')
writer.close()

# Open existing file and add new sheets
book = load_workbook(path)
writer = pd.ExcelWriter(path, engine='openpyxl')
writer.book = book

# Generate new data
x3 = np.random.randn(100, 2)
df3 = pd.DataFrame(x3)

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

# Append new sheets
df3.to_excel(writer, sheet_name='x3')
df4.to_excel(writer, sheet_name='x4')

writer.close()</code>

此程式碼首先產生兩個工作表並關閉 ExcelWriter。然後,它重新開啟檔案並利用 Openpyxl 新增另外兩張表,保留原始資料。

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

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