更新时间:2023-11-25 12:28:04
您可以明确地检查 (xlrd.XL_CELL_EMPTY,xlrd.XL_CELL_BLANK)中的sheet.cell_type(rowno,colno)
,但文档的值将为 u'
其中
而不是使用 row_values
,您也可以使用行(n)
它返回一个单元格
对象的列表,它们具有 .value
和 .cell_type
属性。
I handle Excel files using the functions row_values and col_values:
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 )
For example, I get col_values as list. What if I meet an empty cell in some column? For example a cell (1,1) is not empty, a cell (1,2) is empty and a cell (1,3) is not empty? How can I detect that the cell (1,2) is empty?
Is this true that I get a list with an empty string as a value of an empty cell (for most well-known programs which generate Excel files)?
You could be explicit and check that sheet.cell_type(rowno, colno) in (xlrd.XL_CELL_EMPTY, xlrd.XL_CELL_BLANK)
but the docs state the value will be u''
where those are the case anyway.
Instead of using row_values
, you could also use row(n)
which returns a list of Cell
objects which have .value
and .cell_type
attributes.