读取TRUE时返回的是1,是因为TRUE这个值在excel文件中保存时就是真值类型0或1,而不是保存文本TRUE(节省存储空间)。数字也是这样的。
如果你想把读取时都变为文字,有两种方法。
1,在原excel文件中修改。将TRUE真值类型、数字类型转换成文本类型。
2,在xlrd读取过程中加入一些简单的判定,不同数据不同处理。
def read_cell(x,y):
if cell_type(x,y)==4: #4是真值类型(bool)
return "TRUE" if cell_value(x,y)==1 else "FALSE"
elif cell_type(x,y)==2: #2是数字类型(number)
return str(cell_value(x,y))
else:#其他类型不再一一列举,用到时再做增加
return cell_value(x,y)