Xlrd很慢,打开excel文件

我有一个Excel文件,我想这对于一个Excel文件(200Mb)来说是相当大的,它有大约20页的信息。

我的问题是,如果以下简单的操作需要将近5分钟才能执行,这是正常的。 我想知道我是否以正确的方式做到这一点。

import xlrd def processExcel(excelFile): excelData = xlrd.open_workbook(excelFile) sheets = excelData.sheet_names() print sheets 

正如你所看到的,在第一步,我只是想获得表名,只有这个简单的事情需要5分钟…是可能的?

是的,这是完全可能的。 这确实是一个Excel文件中的很多数据。 默认情况下, xlrd将整个工作簿加载到内存中。 如果您的工作簿是.xls文件,则可以使用on_demand参数仅在需要时打开工作表:

 import xlrd def processExcel(excelFile): excelData = xlrd.open_workbook(excelFile, on_demand=True) sheets = excelData.sheet_names() print sheets 

如果您尝试打开.xlsx文件,则on_demand参数不起作用。