阅读大型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属性的整个范围?