发布网友 发布时间:2022-04-06 06:56
共1个回答
热心网友 时间:2022-04-06 08:26
读取TRUE时返回的是1,是因为TRUE这个值在excel文件中保存时就是真值类型0或1,而不是保存文本TRUE(节省存储空间)。数字也是这样的。
如果你想把读取时都变为文字,有两种方法。
1,在原excel文件中修改。将TRUE真值类型、数字类型转换成文本类型。
2,在xlrd读取过程中加入一些简单的判定,不同数据不同处理。
def read_cell(x,y):追问第一种方法我试了,全局选中修改为文本类型,可是读出来还是不正确,不知道不同版本的Excel会不会不一样。
实际按第二种方式操作了,但是还没试是否true也会读成1,否则不能按照显示的值完全还原啊。
谢谢
追答Excel里面,真值是不区分大小写的。直接输入true,会自动转换成大写。你的不是这样吗?我测试的结果是,当全部转化为文本后,TrUE这样的也会原样显示。数据类型并不是根据内容确定的,而是根据单元格的格式设置确定的。BTW,我用的是Excel2010。