Вы можете использовать модуль csv
для чтения данных, разделенных запятыми, а также zip()
при распаковке итерируемого объекта reader
:
>>> import csv
>>> with open("data.txt") as f:
... reader = csv.reader(f)
... p, t = zip(*reader)
...
>>> p
('place1', 'place2', 'place3')
>>> t
('time1', 'time2', 'time3')
Аргументиспользование csv
вместо попытки самого анализа файла заключается в том, что он будет иметь дело с такими вещами, как значения в кавычках (в стандартном формате CSV), с которыми вызов str.split(line, ',')
не удастся выполнить.
Используете ли выпросто file
объект или csv.reader
результат, любой из них является итеративным;когда вы перебираете их, вы получаете отдельные строки файла.Вот пример более видимого ввода, где вы можете визуализировать [1, 2]
как соответствующий первой строке данных и [3, 4]
как второй:
>>> a, b = zip(*[[1, 2], [3, 4]])
>>> a
(1, 3)
>>> b
(2, 4)
Наконец, в этом примере используется with open()
,создает менеджер контекста и гарантирует, что файл будет закрыт , когда вы закончите его использовать.