В продолжение моего комментария рассмотрим что-то вроде:
import csv
with open('file.txt', 'r') as f:
reader = csv.DictReader(f, delimiter=' ', skipinitialspace=True)
for row in reader:
print(row)
Вывод:
OrderedDict([('#ID', '1978'), ('#Number', '26'), ('#Date', '24/4/10'), ('#Name', 'Jim'), ('#Email', 'Jim@randomemail.com')])
OrderedDict([('#ID', '1328'), ('#Number', '31'), ('#Date', '22/7/10'), ('#Name', 'Jim'), ('#Email', 'Kim@randomemail.com')])
OrderedDict([('#ID', '1908'), ('#Number', '26'), ('#Date', '21/4/10'), ('#Name', 'Jim'), ('#Email', 'Dim@randomemail.com')])
OrderedDict([('#ID', '1918'), ('#Number', '26'), ('#Date', '29/4/10'), ('#Name', 'Jim'), ('#Email', 'Rim@randomemail.com')])
OrderedDict([('#ID', '1938'), ('#Number', '46'), ('#Date', '24/4/10'), ('#Name', 'Jim'), ('#Email', 'Lim@randomemail.com')])
Два дополнительных аргумента DictReader
необходимы для получения вашей переменной space-space-Файл с разделителями для правильного анализа
print(rows[0]["#Email"])
производит
Jim@randomemail.com
Обновление
Если ваш файл на самом деле tab с разделителями, вы можете использовать:
reader = csv.DictReader(f, delimiter='\t')
Вы должны быть в состоянии определить, что такое разделитель, напечатав строку (как у вас уже есть), но обернуть ее в вызов repr
- что-то вроде print(repr(line))
.Если вы видите \t
в выводе, это разделитель табуляции.