簡體   English   中英

將工作表加載到Excel文件中,然后將其保存到另一個不同的Excel文件中

[英]Load sheet in an excel file and save it to another different excel file

使用python 3,我試圖將工作表從現有的excel文件追加到另一個excel文件。

我在此excel文件中有條件格式,所以我不能只使用熊貓。

from openpyxl import load_workbook

final_wb = load_workbook("my_final_workbook_with_lots_of_sheets.xlsx")
new_wb = load_workbook("workbook_with_one_sheet.xlsx")

worksheet_new = new_wb['Sheet1']
final_wb.create_sheet(worksheet_new)

final_wb.save("my_final_workbook_with_lots_of_sheets.xlsx")

該代碼不起作用,因為.create_sheet方法僅生成一個新的空白表,我想將我從另一個文件加載的worksheet_new插入final_wb

在openpyxl上看到此問題並討論此相同功能: https ://bitbucket.org/openpyxl/openpyxl/issues/171/

它當前不是openpyxl的內置函數,但是該線程具有一些可用的變通辦法,可能適合您的需求。

編輯:在這里還發現了一個可能重復的問題: 使用Openpyxl將工作表從一個工作簿復制到另一個工作簿

我找到了使用pandas.ExcelWriter的解決方案,該解決方案還在后台使用xlrd和openpyxl:

我創建了兩個示例excel文件:

  • test1.xlsx
  • test2.xlsx

並將test1.xlsx的第一張表附加到test2.xlsx

In [1]: import pandas as pd                                                                              

In [2]: from pandas import ExcelWriter                                                                   

In [3]: with ExcelWriter("test2.xlsx", mode="a") as writer: 
   ...:     df1 = pd.read_excel("test1.xlsx", sheet_name=0) 
   ...:     df1.to_excel(writer, sheet_name="New sheet name") 

重要的是mode="a" ,它可以切換附加模式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM