使用 openpyxl 按名称获取工作表

我正在将一些数据写入一个 Excel 文件,但我不知道如何调整代码,以便能够控制我正在写入的工作表:

from openpyxl import load_workbook


wb = load_workbook(filename)
active_ws = wb.active

我怎样才能说出类似于 Sheets('Data')的内容(这就是 VBA 语法的样子... ...) ?

176564 次浏览

你应该使用 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']
import openpyxl


n = 0
wb = openpyxl.load_workbook('D:\excel.xlsx')
sheets = wb.sheetnames
ws = wb[sheets[n]]

参考文献: 如何在 Excel openpyxl Python 中的工作表之间切换以进行更改

修正你的 openpyxl版本。从2.3.2升级到2.4.10将解决这个问题。这样做:

pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org openpyxl==2.4.10