for rownum in range(0, len(self.sheet.rows) ):
for cell in self.sheet.rows[rownum]:
print cell.value
openpyxl を使用して、シート内のすべてのセル値に行ごとにアクセスしたいと考えています。上記のコードは機能しますが、遅すぎます。すべてのセル値にすばやくアクセスするにはどうすればよいですか?
セルを上から下、左から右にのみ読み取る場合(ほとんどの場合と同様)、「最適化されたリーダー」 http://openpyxl.readthedocs.org/en/latest/optimized.htmlを使用できます。それは非常に高速に動作し(CPUバウンド)、通常のリーダーよりもメモリフットプリントが小さくなります。
免責事項:私はopenpyxlの作者です。
推測を危険にさらすだけで、これはもっと速いかもしれないと思います。
for row in sheet.rows:
for cell in row:
print cell.value