[英]Save 3 different datasets into 3 different sheet under same excel file
[英]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.