Каков питонический способ чтения данных файла CSV в виде строк с именованными кортежами?

Как лучше всего взять файл данных, содержащий строку заголовка, и прочитать эту строку в именованный кортеж, чтобы к строкам данных можно было получить доступ по имени заголовка?

Я пытался сделать что-то вроде этого:

import csv
from collections import namedtuple

with open('data_file.txt', mode="r") as infile:
    reader = csv.reader(infile)
    Data = namedtuple("Data", ", ".join(i for i in reader[0]))
    next(reader)
    for row in reader:
        data = Data(*row)

Объект чтения не подлежит подписке, поэтому приведенный выше код выдает ошибку TypeError . Каким питоническим способом преобразовать заголовок файла в именованный набор?

31
задан martineau 7 November 2013 в 20:00
поделиться