Условие (x не равно None) не выполняется, когда x равно None

#openpyxl #nonetype

Вопрос:

Я читаю ячейки с листа openpyxl. Некоторые ячейки содержат целые числа в виде строк, некоторые ячейки содержат пробел, некоторые ячейки пусты. Я проверяю значения ячеек перед преобразованием в целые числа следующим образом

 if cell_value is not None and cell_value != "" and not cell_value.isspace():  cell_value = int(cell_value)  

Однако в некоторых случаях я получаю ошибку. Поэтому я попытался понять, почему, используя

 print(cell_value, " : ", "Not None? ", (cell_value is not None), " | ", f"{cell_value} is not None" )  

и… сюрприз, я понимаю:

 5 : Not None? True | 5 is not None 4 : Not None? True | 4 is not None None : Not None? True | None is not None  

то есть в третьем случае значение ячейки равно None, но условие все равно не выполняется. Есть идеи, почему?

Комментарии:

1. Возможно, значение является строкой? Openpyxl должен обрабатывать преобразование в числа для вас.