python xlrd 读取的单元格的值,怎么能确保是文本TEXT类型的,现在某些单元格读出来是NUMBER,有些是BOOL

2020-07-21 家居 140阅读

读取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)
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com