Was ist die pythonic way zu Lesen CSV-Datei Daten als Reihen von namedtuples?

Was ist der beste Weg, um eine Daten-Datei enthält eine header-Zeile und Lesen Sie diese Zeilen in eine named Tupel, so dass die Daten-Zeilen können aufgerufen werden, indem Sie header-Namen?

Ich war versucht, so etwas wie dieses:

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)

Das reader-Objekt ist nicht subscriptable, so dass der obige code löst eine TypeError. Was ist die pythonic way-Leser-eine-Datei-header in eine namedtuple?

InformationsquelleAutor drbunsen | 2012-01-25
Schreibe einen Kommentar