Das Problem mit:Spalt Zugriff dictreader
Ich habe mit einem Problem versucht, den Durchschnitt einer Spalte aus einer CSV-Datei dictreader des mit Python zu finden.
Ich habe versucht:
die Spalten wie folgt Zugriff auf die Spaltennamen verwenden, dies funktioniert aber der Spaltenname ist erforderlich und im nicht sicher, wie eine Schleife über die reader.fieldnames in eine Weise, um eine Liste zu konstruieren von nur jede einzelne Spalte anstatt alle Spalten-Daten in der gleichen Liste Mischen:
for r in reader:
print(r.get("Price"))
Beispiel der Schleife
for i in reader.fieldnames:
for r in reader:
print(row.get(i))
Dies ist in Ordnung, druckt jedoch für jede Zeile 1 Element aus jeder Spalte aus. Dies macht es schwierig, eine Liste aller Preise, aller Namen usw. zusammenzustellen, da dies den Diktator einfach in Listenform wiederherstellen würde.
Frage
Wie können wir lesen nur eine einzige ganze Spalte von dictreader, so kann ich jede Spalte einzeln als Liste zuzugreifen und Operationen darauf ausführen?
Hinweis: Bisher habe ich versucht, jedes Element mit der Schleife anhängen, aber ergibt eine N Größe Array mit 4 Elementen in jeder Zeile.
Guter Rat und vielen Dank für die Beantwortung! aber im im Idealfall wollen keine zusätzlichen Bibliotheken über csv etc. hinaus. – D3181
'Pandas' und' Petl' sind beide ausgezeichnete Wahlen, wenn Ihr Datensatz von einer beträchtlichen Größe ist oder wenn die Anforderungen Ihres Projektes anfangen zu wachsen. Meine Antwort war definitiv die naive "Programming 101" -Lösung, in der Natur würde man erwarten, eines dieser Module zu benutzen. –
@ToreEschliman - Wenn Sie nicht die volle Funktionalität eines Pandas DataFrames benötigen - wenn Sie die Aufgabe einfach mit * build-ins * ausführen können, ist es möglicherweise nicht sinnvoll, dem Namespace überflüssige Module hinzuzufügen. – wwii