如果 xldate < 0.00: TypeError: '<' 在 'str' 和 'float' 的实例之间不支持

Posted

技术标签:

【中文标题】如果 xldate < 0.00: TypeError: \'<\' 在 \'str\' 和 \'float\' 的实例之间不支持【英文标题】:if xldate < 0.00: TypeError: '<' not supported between instances of 'str' and 'float'如果 xldate < 0.00: TypeError: '<' 在 'str' 和 'float' 的实例之间不支持 【发布时间】:2020-08-12 20:05:40 【问题描述】:

您好,我正在尝试从 excel 单元格中读取日期,我正在使用下面的代码,但如果 xldate

a = sheet.cell(4,3).value
a_as_date = datetime.date(*xlrd.xldate_as_tuple(a, 0)[:3])
datetime = xldate.xldate_as_datetime(a, workbook.datemode)

【问题讨论】:

遇到同样的问题,找到解决方案了吗? 【参考方案1】:

仔细检查单元格坐标。如果正常,则仔细检查单元格格式(在 excel 单元格属性中)是否为日期。

我在以前运行良好的代码中遇到了类似的问题,问题是新的 excel 文件有一个额外的列。

这引发了错误(第 3 列):

        fdate = sheet.cell_value(i, 3)
        y, m, d, h, mm, s = xlrd.xldate_as_tuple(fdate, workbook.datemode)

虽然使用新位置(第 4 栏)位置再次完美运行:

        fdate = sheet.cell_value(i, 4)
        y, m, d, h, mm, s = xlrd.xldate_as_tuple(fdate, workbook.datemode)

【讨论】:

以上是关于如果 xldate < 0.00: TypeError: '<' 在 'str' 和 'float' 的实例之间不支持的主要内容,如果未能解决你的问题,请参考以下文章

转换日期时间对象

在MS Access中,当查询结果为空时,是否有一个简单的方法来显示0.00美元的金额?

为啥水平精度 = 0.00?

js 或者 jquery 控制金额输入(可以输"0" , "0.0" ,"0.00" 小数点后最多俩位 .....)

如何将表字段的默认值设置为 0.00?

js输入金额限制