提问人:horace_vr 提问时间:4/24/2016 最后编辑:Peter Mortensenhorace_vr 更新时间:7/12/2023 访问量:214339
使用 openpyxl 按名称获取工作表
Get sheet by name using openpyxl
问:
我正在将一些数据写入 Excel 文件,但我不知道如何调整代码以便能够控制我正在写入哪个工作表:
from openpyxl import load_workbook
wb = load_workbook(filename)
active_ws = wb.active
而不是,我怎么能说这样的话(这就是 VBA 语法的样子......wb.active
Sheets('Data')
答:
163赞
Valeriy Solovyov
4/24/2016
#1
您应该使用wb[sheetname]
from openpyxl import load_workbook
wb2 = load_workbook('test.xlsx')
ws4 = wb2["New Title"]
附言:
您应该检查您的工作表名称是否为wb.sheetnames
print(wb2.sheetnames)
['Sheet2', 'New Title', 'Sheet1']
15赞
Youssri Abo Elseod
4/23/2019
#2
import openpyxl
n = 0
wb = openpyxl.load_workbook('D:\excel.xlsx')
sheets = wb.sheetnames
ws = wb[sheets[n]]
参考:如何在 Excel openpyxl Python 中在工作表之间切换以进行更改
1赞
Aarthi Rishi
8/18/2022
#3
修复您的版本。从 2.3.2 升级到 2.4.10 将解决此问题。执行此操作:openpyxl
pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org openpyxl==2.4.10
0赞
Neel
7/12/2023
#4
上述解决方案有效,但只是指出 excel 文件应该是“Excel 工作簿 (.xlsx)”而不是“严格的开放 XML 电子表格 (.xlsx)”
workbook = openpyxl.load_workbook(file.xlsx)
sheet = workbook[sheet_name]
评论