GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Robustes Befehlszeilentool zum Verarbeiten von CSV-Dateien?

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

nicht einfach bewältigen
"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

Linux
  1. 5 Befehlszeilen-Tools zum schnellen Auffinden von Dateien unter Linux

  2. Titan – Ein Befehlszeilen-Passwort-Manager für Linux

  3. ppl – Ein Befehlszeilen-Adressbuch für Linux

  4. Interaktives GUI-ähnliches Befehlszeilen-Zusammenführungstool (wie BeyondCompare oder WinMerge) für Linux

  5. Ist das pdftotext-Befehlszeilentool für Mac?

fdupes – Ein Befehlszeilentool zum Suchen und Löschen doppelter Dateien in Linux

ls-Befehl in Linux zum Auflisten von Dateien

So suchen Sie nach Dateien über die Linux-Befehlszeile

Ein Papierkorb für die Ubuntu-Befehlszeile

Ripgrep – Das schnellste Kommandozeilen-Suchtool für Linux

Entwickeln Sie schnell eine GUI für die Befehlszeile