Ich arbeite mit CSV-Dateien und muss manchmal schnell den Inhalt einer Zeile oder Spalte von der Befehlszeile aus überprüfen. In vielen Fällen cut
, head
, tail
, und Freunde erledigen die Arbeit; cut kann jedoch Situationen wie
"this, is the first entry", this is the second, 34.5
Hier ist das erste Komma Teil des ersten Feldes, aber cut -d, -f1
widerspricht. Bevor ich selbst eine Lösung schreibe, habe ich mich gefragt, ob jemand ein gutes Tool kennt, das es für diesen Job bereits gibt. Es müsste zumindest in der Lage sein, das obige Beispiel zu handhaben und eine Spalte aus einer CSV-formatierten Datei zurückzugeben. Weitere wünschenswerte Funktionen sind die Möglichkeit, Spalten basierend auf den in der ersten Zeile angegebenen Spaltennamen auszuwählen, Unterstützung für andere Zitierstile und Unterstützung für tabulatorgetrennte Dateien.
Wenn Sie kein solches Tool kennen, aber Vorschläge zur Implementierung eines solchen Programms in Bash, Perl oder Python oder anderen gängigen Skriptsprachen haben, hätte ich nichts gegen solche Vorschläge.
Akzeptierte Antwort:
Sie können Pythons csv
verwenden Modul.
Ein einfaches Beispiel:
import csv
reader = csv.reader(open("test.csv", "r"))
for row in reader:
for col in row:
print col