如何更快地使用openpyxl访问单元格值?

6 投票
2 回答
14389 浏览
提问于 2025-04-16 22:29
for rownum in range(0, len(self.sheet.rows) ):
   for cell in self.sheet.rows[rownum]:
      print cell.value

我想用openpyxl逐行访问一个表格中的所有单元格值。上面的代码可以运行,但速度太慢了。我该如何更快地访问所有单元格的值呢?

2 个回答

4

我只是随便猜猜,我觉得这样可能会更快。

for row in sheet.rows:
    for cell in row:
        print cell.value
17

如果你只是从上到下、从左到右读取单元格(就像大多数人一样),你可以使用“优化读取器” http://openpyxl.readthedocs.org/en/latest/optimized.html。这个方法运行得很快(主要依赖CPU),而且占用的内存比普通的读取方式要少。

声明:我是openpyxl的作者。

撰写回答