У меня есть .txt
с данными, которые мне нужно проанализировать с object
, которые затем следует поместить в list
.Файл .txt
огромен, но вот пример:
5764;3/13/2015 8:00:00 AM;3/13/2015 1:00:00 PM;
C5CA;1/3/2015 12:30:00 PM;1/3/2015 1:00:00 PM;
Все это одним куском, разделенным точкой с запятой.Образец состоит из двух объектов с id
, time_start
и time_end
Я создал class
, который выглядит следующим образом:
class Employee:
def __init__(self, id, time_start, time_end):
self.id = id
self.time_start = time_start
self.time_end = time_end
Основная часть выглядит следующим образомс открытием файла и попыткой его проанализировать:
my_array_with_objects = []
my_file = open("test.txt", "r")
for item in my_file:
temp_employee = Employee()
temp_employee.id = item_first_semicolon_part
temp_employee.time_start = item_second_semicolon_part
temp_employee.time_end = item_third_semicolon_part
my_array_with_objects.append(temp_employee)
myFile.close()
Итак, проблема в том, что я не знаю, как получить доступ к определенным частям файла .txt
, разделенным точкой с запятой.Очевидно, "item_first_semicolon_part" не будет работать.Но как мне получить доступ к первой части текстового файла, чтобы получить номер id
и ничего больше (а затем время начала и окончания)?Есть ли элегантный способ сделать это или просто вопрос использования if ; do this
.
Заранее спасибо.Я просматривал похожие вопросы, но не думаю, что было что-то, что могло бы помочь мне в этом.
ОБНОВЛЕНИЕ Я получил отличный ответ от @Alderven, чтосработало, но я просто заметил, что разобранный объект обрезает часть идентификатора.Я упростил идентификатор ради этого вопроса.Полный идентификатор (с остальными данными) выглядит следующим образом:
57646786307395936680161735716561753784;3/13/2015 8:00:00 AM;3/13/2015 1:00:00 PM;C5CAACCED1B9F361761853A7F995A1D4F16C8BCD0A5001A2DF3EC0D7CD539A09AA7DDA1A5278FA07554B0260880882CCBB30B3399C3C0974C587A8233E5788A81DEAD2921123CB12D13CC11318C38B9679D868145315F1BE24333202D12B3787E51D1BBF97BB25482B0EF7E97DE637BAACEDD74E89E2AC52139EE9369F1D64A6
259939411636051033617118653993975778241;1/3/2015 12:30:00 PM;1/3/2015 1:00:00 PM;
Часть: C5CAACCED1B9F361761853A7F995A1D4F16C8BCD0A5001A2DF3EC0D7CD539A09AA7DDA1A5278FA07554B0260880882CCBB30B3399C3C0974C587A8233E5788A81DEAD2921123CB12D13CC11318C38B9679D868145315F1BE24333202D12B3787E51D1BBF97BB25482B0EF7E97DE637BAACEDD74E89E2AC52139EE9369F1D64A6
, кажется, отсутствует.Возможно, потому что он находится в одном ряду с первым объектом.Последняя часть id
все еще там:
259939411636051033617118653993975778241
Как мне получить полный идентификатор?