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

ser*_*ach 10 python excel xlrd

我使用函数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 )
Run Code Online (Sandbox Code Playgroud)

例如,我将col_values作为列表.如果我遇到某个列中的空单元怎么办?例如,单元格(1,1)不为空,单元格(1,2)为空,单元格(1,3)不为空?如何检测单元格(1,2)是否为空?

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

Jon*_*nts 17

您可以明确并检查,sheet.cell_type(rowno, colno) in (xlrd.XL_CELL_EMPTY, xlrd.XL_CELL_BLANK)但文档说明值将是u''那些情况.

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