如何从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.ExcelFile
给xlrd.open_workbook
, pd.ExcelFile
接受on_demand
标志。 因此,不需要单独加载xlrd
:
xls = pandas.ExcelFile(path, on_demand = True) sheets = xls.sheet_names