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

Linda Hamilton
發布: 2024-11-03 04:12:03
原創
862 人瀏覽過

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

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

目標是將多個工作表寫入現有Excel 檔案而不覆蓋現有Excel 檔案data.

原始程式碼:

提供的程式碼使用「xlsxwriter」引擎將兩個DataFrame 儲存到Excel 檔案中的兩個工作表中。但是,嘗試新增工作表會導致原始資料遺失。

使用「openpyxl」引擎:

要保留現有數據,請使用「openpyxl」引擎。下面的程式碼示範如何做到這一點:

import pandas as pd<br>import numpy as np<br>from openpyxl import load_workbook<p>path = r"C: UsersfedelDesktopexcelDataPhD_data .xlsx"</p><h1>使用初始工作表建立Excel 檔案</h1><p>x1 = np.random.randn(100, 2)<br>df1 = pd.DataFrame(x1)</p>df1 = pd.DataFrame(x1)<p><br>x2 = np.random.randn(100, 2)</p>df2 = pd.DataFrame(x2)<p><br>writer = pd.ExcelWriter(path, engine='xlsxwriter')<br>df1. to_excel (writer,sheet_name='x1')<br>df2.to_excel(writer,sheet_name='x2')</p>writer.close()<h1></h1>載入工作簿並將其附加到writer<p> <br>book = load_workbook(path)<br>writer = pd.ExcelWriter(path, engine='openpyxl')</p>writer.book = book<h1></h1>新增工作表和DataFrame<p> <br>x3 = np.random.randn(100, 2)</p>df3 = pd.DataFrame(x3)<p><br>x4 = np.random.randn(100, 2)</p>df4 = pd .DataFrame (x4)<p><br>df3.to_excel(writer,sheet_name='x3')<br>df4.to_excel(writer,sheet_name='x4')<br>writer.close()</p><p><strong></strong>理解程式碼:</p>
登入後複製
  • load_workbook 載入現有的Excel 檔案。
  • 使用 writer 將載入的工作簿附加到 writer 物件.book = book。
  • 像以前一樣使用 to_excel 新增工作表和 DataFrame。
  • 關閉編寫器以儲存變更。

程式碼循環遍歷工作表並將它們指派給一個字典,其中鍵是工作表標題,值是工作表物件。這允許編寫者將新的工作表和資料附加到現有文件,而無需覆蓋現有工作表。

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

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