我正在将一些数据写入Excel文件,但我不知道如何调整代码以便能够控制我要写入哪个工作表:
from openpyxl import load_workbook
wb = load_workbook(filename)
active_ws = wb.active
我该如何使用类似于 Sheets('Data')
(这是 VBA 语法的形式)而不是 wb.active
?
你应该使用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
workbook = openpyxl.load_workbook(file.xlsx)
sheet = workbook[sheet_name]