2011-07-29 5 views
5
for rownum in range(0, len(self.sheet.rows)): 
    for cell in self.sheet.rows[rownum]: 
     print cell.value 

Quiero acceder a todos los valores de celda en una hoja de fila por fila con openpyxl. El código anterior funciona pero es demasiado lento. ¿Cómo puedo acceder a todos los valores de celda más rápido?cómo acceder a los valores de celda más rápido con openpyxl?

Respuesta

4

Simplemente arriesgándome a una conjetura, creo que esto podría ser más rápido.

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

Si sólo está leyendo células de arriba a abajo y de izquierda a derecha (como la mayoría de nosotros), puede utilizar el "lector optimizado" http://openpyxl.readthedocs.org/en/latest/optimized.html. Funciona bastante rápido (vinculado a la CPU) y tiene una memoria más pequeña que el lector común.

Descargo de responsabilidad: soy el autor de openpyxl.

+0

buen trabajo con openpyxl! Estoy tratando de descubrir cómo eliminar filas usándolo. ¿Apoya esto? –

Cuestiones relacionadas