阅读大型Excel表(猜测大小)

我正在使用pywin32来读写excel。 现在我所知道的唯一方法就是访问Range.Value,但是我通常并不知道excel表格的大小。 所以目前我一行一行地读,直到find一条完全空的行。 这可能很慢。

当然,我会尝试像阅读数据块的技巧 – 那么我必须find一个最佳的块大小。

你知道另一种方法(也许一些内部的Excel函数)或更快的其他方法吗?

在VBA中,我们经常使用这样的End语句:

 Worksheets("sheet1").Cells(Rows.Count, "A").End(xlUp).Row 

这可能会帮助你find列的最后一个使用的单元格(但是,我不知道如何将此方法扩展到pywin

您可以使用xlrd打开工作簿并阅读特定工作表的大小。 这很快

提示: book = xlrd.open_workbook("myfile.xls")然后通过sheet = book.sheet_by_index(sheetx)sheet = book.sheet_by_name(sheet_name)获得Sheet对象,并且您有sheet.nrows属性和给定行数片。

这里是API文档。

如何获得与Worksheet.UsedRange属性的整个范围?