Подтвердить что ты не робот

Получение имен листов из openpyxl

У меня есть умеренно большой файл xlsx (около 14 МБ), и OpenOffice зависает, пытаясь его открыть. Я пытался использовать openpyxl для чтения содержимого, следуя этому учебнику. Фрагмент кода выглядит следующим образом:

 from openpyxl import load_workbook
 wb = load_workbook(filename = 'large_file.xlsx', use_iterators = True)
 ws = wb.get_sheet_by_name(name = 'big_data') 

Проблема в том, что я не знаю имя листа, а Sheet1/Sheet2 и т.д. не работает (возвращается объект NoneType). Я не мог найти документацию, сообщающую мне Как получить имена листов для xlsx файлов, используя openpyxl. Кто-нибудь может мне помочь?

4b9b3361

Ответ 1

Используйте свойство sheetnames:

sheetnames

Возвращает список имен рабочих листов в этой рабочей книге.

Имена возвращаются в порядке листов.

Тип: список строк

print (wb.sheetnames)

Вы также можете получить объекты листа из wb.worksheets:

ws = wb.worksheets[0]

Ответ 2

Как упоминалось в предыдущем ответе, вы можете получить список имен листов, используя ws.sheetnames

Но если вы знаете имена листов, вы можете получить этот объект листа:

ws.get_sheet_by_name("YOUR_SHEET_NAME")

Другой способ сделать это, как упоминалось в предыдущем ответе

ws['YOUR_SHEET_NAME']