如何检测使用xlrd库读取Excel文件时单元格是否为空?

我使用函数row_valuescol_values处理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)是否为空?

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

您可以明确地检查sheet.cell_type(rowno, colno) in (xlrd.XL_CELL_EMPTY, xlrd.XL_CELL_BLANK)但是文档声明值将是u'' ,无论如何都是这种情况。

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