Невозможно понять, почему возникает ошибка

Я пытаюсь конкатенировать две строки и присвоить их ячейке в листе excel. Однако я не могу понять, почему возникает показанная ниже ошибка, поскольку я не могу найти никакой ошибки в работе остальной части кода

показана следующая ошибка:

Traceback (most recent call last):
  File "C:\Users\AdvaitSNambiar\Desktop\Myfolder\SUTT task\Final\task1test-2-final.py", line 63, in <module>
    ws['D' + str(i) ].value = ws['D' + str(i)].value + '+ EEE'
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
if (h2 == 'A3'):
                ws['D' + str(i) ].value = ws['D' + str(i)].value + '+ EEE'

это была конкатенация, которую я пытался выполнить

мой код приведен ниже

Вот ответ, обработанный chatGPT:

Ошибка возникает потому, что ячейка ws['D' + str(i) ].value в листе Excel является None, а оператор + нельзя применять к значению NoneType и строке.

Чтобы исправить эту ошибку, вы можете проверить, является ли ячейка ws['D' + str(i) ].value ячейкой None перед конкатенацией двух строк, как показано в следующем фрагменте кода:

Конкатенация строк

if ws['D' + str(i) ].value != None:
    ws['D' + str(i) ].value = ws['D' + str(i)].value + '+ EEE'
else:
    ws['D' + str(i) ].value = 'EEE'

В этом коде блок if проверяет, не является ли ячейка ws['D' + str(i) ].value ячейкой None, и если нет, то конкатенирует две строки и присваивает результат ячейке. Если ячейка None, блок else просто присваивает ячейке строку EEE.

Это гарантирует, что оператор + не будет применен к значению NoneType, и код не вызовет исключение TypeError.

Вернуться на верх