una trabajar obtener nombre llamar leer importar hoja datos con como celda cargar cambiar archivos archivo python excel pandas xlrd

trabajar - python obtener datos de excel



¿Cómo obtener nombres de hojas de archivos XLS sin cargar todo el archivo? (2)

Como pandas usa xlrd para leer hojas de Excel y pasa todos los argumentos de palabras clave de pandas.ExcelFile a xlrd.open_workbook , pd.ExcelFile acepta el indicador on_demand . Por lo tanto, no es necesario cargar xlrd separado:

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

Actualmente estoy usando pandas para leer un archivo de Excel y presentar sus nombres de hoja al usuario, para que pueda seleccionar qué hoja le gustaría usar. El problema es que los archivos son realmente grandes (70 columnas x 65k filas), demorando hasta 14 segundos en cargarse en una notebook (los mismos datos en un archivo CSV toman 3s).

Mi código en panda es así:

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

Intenté xlrd antes, pero obtuve resultados similares. Este fue mi código con xlrd:

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

Entonces, ¿alguien puede sugerir una forma más rápida de recuperar los nombres de las hojas de un archivo de Excel que leer todo el archivo?


puede usar la biblioteca xlrd y abrir el libro de trabajo con el indicador "on_demand = True", para que las hojas no se carguen automáticamente.

De lo que puede recuperar los nombres de las hojas de forma similar a los pandas:

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