У меня есть огромное количество данных в файле .txt
, которые я пытаюсь проанализировать в objects
в list
, используя Pyhon
.Структура данных выглядит так по большей части, и когда это происходит, анализ выполняется успешно.
2315462;3/13/2015 8:00:00 AM;3/13/2015 1:00:00 PM
778241;1/3/2015 12:30:00 PM;1/3/2015 1:00:00 PM
Как видите, есть идентификатор, время начала и время окончания.Он анализируется с использованием этого кода:
my_array_with_objects = []
with open("test.txt", newline='\n') as f:
reader = csv.reader(f, delimiter=';')
for row in reader:
my_array_with_objects.append(Employee(row[0], row[1], row[2]))
Employee
, являющийся классом, который выглядит следующим образом:
class Employee:
def __init__(self, id, time_start, time_end):
self.id = id
self.time_start = time_start
self.time_end = time_end
Иногда, однако, time_end
отсутствует в данных:
276908;1/3/20152015 8:00:00 AM
В этот момент программа завершает работу с исключением index out of range
.Я новичок в Python, но слышал, что нет такой вещи, как null
значение.Тогда почему он падает?Я предположил, что это может быть обработано чем-то вроде:
if row[2] is None:
print("error, do things to fix")
... но это не срабатывает.Как мне справиться с этими ошибками?Я не хочу, чтобы что-то особенное произошло, если отсутствует row[2]
.Это нормально с пустым значением.