2012-07-22 23 views
9

que manejar archivos Excel utilizando las funciones row_values ​​ y col_values ​​:¿Cómo detectar si una celda está vacía al leer archivos de Excel utilizando la biblioteca xlrd?

import xlrd 
workbook = xlrd.open_workbook(filename) 
sheet_names = workbook.sheet_names() 
for sheet_name in sheet_names: 
    sheet = workbook.sheet_by_name(sheet_name)  
    # ... 
    row_values = sheet.row_values(rownum) 
    # ... 
    col_values = sheet.col_values(colnum) 

Por ejemplo, que recibo como col_values ​​lista. ¿Qué pasa si encuentro una celda vacía en alguna columna? Por ejemplo, una celda (1,1) no está vacía, una celda (1,2) está vacía y una celda (1,3) no está vacía. ¿Cómo puedo detectar que la celda (1,2) está vacía?

¿Es esto cierto que obtengo una lista con una cadena vacía como valor de una celda vacía (para la mayoría de los programas conocidos que generan archivos de Excel)?

Respuesta

15

Puede ser explícito y verificar que sheet.cell_type(rowno, colno) in (xlrd.XL_CELL_EMPTY, xlrd.XL_CELL_BLANK) pero los documentos indiquen que el valor será u'' donde ese es el caso de todos modos.

En lugar de utilizar row_values, también se puede utilizar row(n) que devuelve una lista de objetos que tienen Cell.value y .cell_type atributos.

Cuestiones relacionadas