TypeError между двумя числами с плавающей запятой - PullRequest
0 голосов
/ 15 мая 2019

Поэтому я пытаюсь установить условную раскраску столбцов для моего файла Excel с помощью Openpyxl. Вот мой код:

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.value и 0.35 - оба float. Что я могу сделать?

Ответы [ 3 ]

1 голос
/ 15 мая 2019

Попробуйте это:

try:
    if (float(cell.value) > 0.35):
        ...
except:
    continue
0 голосов
/ 15 мая 2019

Я думаю, что проблема заключается в том, что столбец, который вы перебираете, не состоит из всех чисел с плавающей запятой!Проверьте тип каждого элемента.

0 голосов
/ 15 мая 2019

вы можете использовать следующее:

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