python - 在 excel 文件中加载工作表并将其保存到另一个不同的 excel 文件
问题描述
使用 python 3,我正在尝试将现有 excel 文件中的工作表附加到另一个 excel 文件中。
我在这个 excel 文件中有条件格式,所以我不能只使用 pandas。
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
解决方案
我找到了一个使用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"
,它切换附加模式。
推荐阅读
- django - Django Permission denied: '/media/images' 上传图片
- reactjs - 如何减少按钮的数量?
- android - 如何开始为 Google Glass 开发应用程序?
- assembly - 如何将数字类型位置设置为 x,y 类型位置?
- php - Symfony:AuthenticateToken 函数跳过抛出的异常
- projection - 如何使用投影而不是原始列
- web-services - 与正在运行的电子应用程序交互的 Web 服务
- windows - 如何检查域控制器的时间同步?
- java - 无法使用 iframe 吸引
- java - 如何跳过索引文件并直接显示 json 响应?