Come get i nomi dei fogli dai file XLS senza caricare l'integer file?

Sto attualmente utilizzando pandas per leggere un file di Excel e presentare i nomi dei fogli all'utente, in modo da poter select quale foglio vuole utilizzare. Il problema è che i file sono davvero grandi (70 colonne x 65k righe), che richiedono fino a 14s per caricare su un notebook (gli stessi dati in un file CSV stanno prendendo 3s).

Il mio codice in panda è così:

xls = pandas.ExcelFile(path) sheets = xls.sheet_names 

Ho provato prima xlrd, ma ho ottenuto risultati simili. Questo è stato il mio codice con xlrd:

 xls = xlrd.open_workbook(path) sheets = xls.sheet_names 

Quindi, qualcuno può suggerire un modo più veloce per recuperare i nomi dei fogli da un file Excel rispetto a leggere l'integer file?

è ansible utilizzare la libreria xlrd e aprire la cartella di lavoro con la bandiera "on_demand = True", in modo che i fogli non verranno caricati automaticamente.

Quindi è ansible recuperare i nomi dei fogli in modo analogo a quelli dei panda:

 import xlrd xls = xlrd.open_workbook(r'<path_to_your_excel_file>', on_demand=True) print xls.sheet_names() # <- remeber: xlrd sheet_names is a function, not a property 

Poiché i pandas usano xlrd per la lettura di fogli di Excel e passa tutti gli argomenti della parola chiave da pandas.ExcelFile a xlrd.open_workbook , pd.ExcelFile accetta anche la bandiera on_demand . Pertanto, non è necessario caricare xlrd separatamente:

 xls = pandas.ExcelFile(path, on_demand = True) sheets = xls.sheet_names