如何从XLS文件中获取图表名称而不加载整个文件?

我目前使用pandas来读取一个Excel文件,并向用户展示它的表名,以便他可以select他想使用的表格。 问题是这些文件真的很大(70列x 65k行),最多需要14s才能加载到笔记本上(CSV文件中的相同数据需要3s)。

我在pandas的代码是这样的:

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

我以前试过xlrd,但是获得了类似的结果。 这是我的代码与xlrd:

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

那么,有没有人可以build议一个更快的方式来从Excel文件检索表名称比读取整个文件?

您可以使用xlrd库并使用“on_demand = True”标志打开工作簿,以便工作表不会自动加载。

比你可以像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 

由于pandas使用xlrd读取Excel工作表,并将所有关键字参数从pandas.ExcelFilexlrd.open_workbookpd.ExcelFile接受on_demand标志。 因此,不需要单独加载xlrd

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