Bir üstbilgi satırı içeren bir veri dosyası almanın ve bu satırı adlandırılmış bir tuple okuyabilmenin en iyi yolu nedir, böylece veri satırlarına başlık adıyla erişilebilir?CSV dosya verilerini adlandırılmış komut satırı olarak okumak için kullanılan pythonik yol nedir?
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)
okuyucu nesne İndislenebilir değil, bu yüzden yukarıdaki kod TypeError
atar:
Böyle bir şey çalışıyordu. Bir dosya üstbilgisini adlandırılmış bir dosyaya okuyup pythonic yolu nedir?
drbunsen: Bunu yaptıktan sonra size işlem döngü değiştirebilir nedense hala bir
collections.namedtuple
olarak satırları erişmesi gerekiyorsa aşağıdaki gibi, adlandırılmış küpe için sözlükleri dönüştürmek için kolay olmalı : 'haritadaki veriler için (Data._make, reader):'. – martineau
@spinup: Düzenlemenizi biraz değiştirdim. – martineau
Eğer csv verisinde bir başlık yoksa? Sütuna ad atamanın bir yolu var mı? (CSV verisi bir adlandırılmış başlık içermiyorsa ve sütun adları atamak istiyorsanız, bana tek seçeneğim bunu sözlükler dizisi olarak okumaktır). –