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

时间:2012-07-22 18:43:19

标签: python excel xlrd

我使用函数 row_values col_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)是否为空?

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

1 个答案:

答案 0 :(得分:16)

您可以明确并检查sheet.cell_type(rowno, colno) in (xlrd.XL_CELL_EMPTY, xlrd.XL_CELL_BLANK),但文档会说明值为u'',无论如何都是这样。

您还可以使用row_values而不是row(n),它会返回Cell.value.cell_type个属性的对象列表。