2012-07-22 94 views
9

我处理使用功能row_valuescol_values Excel文件:如何检测使用xlrd库读取Excel文件时单元是否为空?

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) 

例如,我得到col_values的列表。如果我遇到某列中的空单元格会怎么样?例如一个单元格(1,1)不是空的,一个单元格(1,2)是空的而一个单元格(1,3)不是空的?如何检测单元(1,2)是否为空?

这是真的,我得到一个空字符串列表作为空单元格的值(对于大多数知名程序生成Excel文件)?

回答

15

您可以明确指出并检查sheet.cell_type(rowno, colno) in (xlrd.XL_CELL_EMPTY, xlrd.XL_CELL_BLANK),但文档状态值将为u'',无论如何这些情况都是如此。

而不是使用row_values的,你也可以使用row(n)它返回具有.value.cell_type属性Cell对象的列表。