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']
Ответ 2
import openpyxl
n = 0
wb = openpyxl.load_workbook('D:\excel.xlsx')
sheets = wb.sheetnames
ws = wb[sheets[n]]
Ссылка: Как переключаться между листами в Excel openpyxl Python, чтобы внести изменения