openpyxl получить лист по имени

Я записываю некоторые данные в файл Excel, но я не знаю, как настроить код, чтобы иметь возможность контролировать, на какой лист я пишу:

wb = load_workbook(filename)
active_ws = wb.active

Вместо wb.active, как я могу сказать что-то вроде Sheets('Data') (так будет выглядеть синтаксис VBA...)?

Ответ 1

Вы должны использовать wb[sheetname]

from openpyxl import load_workbook
wb2 = load_workbook('test.xlsx')
ws4 = wb2["New Title"]

PS: Вы должны проверить, соответствует ли ваш лист именам листов wb.sheetnames

print(wb2.sheetnames)
['Sheet2', 'New Title', 'Sheet1']