2014-05-07 3 views
24

У меня есть умеренно большой файл xlsx (около 14 МБ), и OpenOffice висит, пытаясь его открыть. Я пытался использовать openpyxl для чтения содержимого, следующего за this tutorial. Фрагмент кода следующим образом:Получение имен листов из 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') 

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

ответ

37

Используйте get_sheet_names() метод:

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

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

Возврата типа список строк

print (wb.get_sheet_names()) 

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

ws = wb.worksheets[0] 
+2

'wb.sheetnames' является предпочтительным написанием. –

+1

Было бы невероятно удобно иметь имя листа как свойство в классе WorkSheet. –

+4

@ ÁronLőrincz Имя листа avaialble на объектах WorkSheet как wsObj.title – slumtrimpet