Невозможно понять, почему возникает ошибка
Я пытаюсь конкатенировать две строки и присвоить их ячейке в листе 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.