两个浮点数之间的TypeError

时间:2019-05-15 10:40:57

标签: python excel pandas openpyxl

所以我试图使用Openpyxl为我的excel文件设置条件列着色。这是我的代码:

for cols in ws2.iter_cols(min_col=10, max_col=10, min_row=67, max_row=83):
    for cell in cols:
        if (cell.value > 0.35):
            cell.fill = PatternFill(fgColor="FFC000", patternType = 'solid')

但是我只是得到一个错误:

  

TypeError:'str'和'float'实例之间不支持'>'

我检查了cell.value0.35的类型-均为float。我该怎么办?

3 个答案:

答案 0 :(得分:1)

尝试一下:

try:
    if (float(cell.value) > 0.35):
        ...
except:
    continue

答案 1 :(得分:0)

您可以使用以下内容:

cell_value = cell.value
if isinstance(cell_value, (int, float)) and (cell.value > 0.35):
    cell.fill = PatternFill(fgColor="FFC000", patternType = 'solid')

答案 2 :(得分:0)

我认为问题在于,您要迭代的列并非由所有浮点数组成!检查每个元素的类型。