XLRD在迭代具有True / False和Percentage值的单元格时呈现错误的数据

时间:2013-02-12 04:53:22

标签: python xlrd

当Cell包含True时,它返回1,如果包含False则返回0.

此外,如果80%被渲染为.8

我很困惑,现在不知道在哪里查看。

2 个答案:

答案 0 :(得分:3)

Cell对象有三个属性:ctype是int,value(取决于ctype)和xf_index。如果在打开工作簿时未启用“formatting_info”,则xf_index将为None。下表描述了单元格的类型以及它们的值在Python中的表示方式。

Check this

当您从文本文件中获取布尔值为0/1时,您可以执行类似

的操作

text = ("FALSE", "TRUE")[bool_value_from_xl]

xlrd,如文档所述,返回实际存储的基础数据值,而不是格式化它的结果。

答案 1 :(得分:1)

我觉得问题出在文件上。我想你应该用文件检查一下。

当使用openofffice和libra office创建的带有True和False数据的xls文件返回0和1时,我遇到同样的问题。

我注意到在使用xlrd迭代文件时以及当我创建一个文件microsoft office时.. xlrd完全没问题了所以请检查它。