读取大型excel表(猜测大小)

时间:2011-09-26 11:46:28

标签: python excel vba com pywin32

我使用pywin32来读取和写入excel。现在我知道的唯一方法是访问Range.Value但是,我通常不会事先知道完整excel表的大小。 所以此刻我逐行阅读,直到找到完全空行。这可能很慢。

当然我会尝试读取数据块等技巧 - 然后我必须找到最佳的块大小。

您是否了解其他方法(可能是某些内部Excel功能)或其他更快的方法?

3 个答案:

答案 0 :(得分:3)

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

提示:book = xlrd.open_workbook("myfile.xls")然后您可以通过sheet = book.sheet_by_index(sheetx)sheet = book.sheet_by_name(sheet_name)获取Sheet对象,并且您拥有sheet.nrows属性,其中包含给定工作表中的行数。

以下是API文档。

答案 1 :(得分:2)

如何使用Worksheet.UsedRange属性获取整个范围?

答案 2 :(得分:2)

在VBA中,我们经常使用End语句,如下所示:

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

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