openpyxl按名称获取表格

hor*_*_vr 22 python openpyxl

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

wb = load_workbook(filename)
active_ws = wb.active
Run Code Online (Sandbox Code Playgroud)

而不是wb.active,我怎么能说出类似的东西Sheets('Data')(这就是VBA语法的样子......)?

Val*_*yov 45

你应该用 wb[sheetname]

from openpyxl import load_workbook
wb2 = load_workbook('test.xlsx')
ws4 = wb2["New Title"]
Run Code Online (Sandbox Code Playgroud)

PS:您应该检查表单中的表单 wb.sheetnames

print(wb2.sheetnames)
['Sheet2', 'New Title', 'Sheet1']
Run Code Online (Sandbox Code Playgroud)

  • “ active_ws = wb.get_sheet_by_name(“ Data”)`可以这样做,但是我建议您修改答案,因为目前尚不清楚哪种解决方案 (2认同)

You*_*eod 8

import openpyxl

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

参考: 如何在excel openpyxl python中的工作表之间切换以进行更改