Ich habe eine große CSV-Datei.
Ich möchte meine Datei mit less
einem ähnlichen Befehl anzeigen , der nicht die gesamte Datei auf einmal lesen muss, um mir einen Teil davon anzuzeigen .
Gibt es da draußen einen Befehl, der mir meine Datei in durch Kommas ausgerichteten Spalten anzeigen kann?
command-line
csv
Richard
quelle
quelle
Antworten:
Ich bin mir nicht sicher, ob das für Sie ausreicht, aber Sie könnten das
column
Programm verwenden und die ausgewählten Teile der Datei mithead
und / odertail
wie folgt lesen :Sie können es in ein Skript einbinden, um verschiedene Teile der Datei gleichzeitig anzuzeigen (wahrscheinlich ohne
less
dann). Abgesehen davon befürchte ich, dass es ein Problem wäre, nur die GNU-Tools für den Job zu verwenden.quelle
colum -ts ',' myfile.csv | less
funktionieren.less
offensichtlich nicht, abercolumn
tut es - also ist es doch keine gute Lösung ...cut -d',' -f1,4-6
würden nur die Spalten 1,4,5 und 6 zurückgegebenVerwenden Sie,
less
aber wenn Sie möchten, dass die CSV-Daten spaltenausgerichtet angezeigt werden, leiten Sie die aktuelle Seite durch den folgendencolumn -ts ,
Befehl:also verwenden
|.column -ts ,
inless
quelle
Ich habe gute Erfahrungen damit gemacht
tabview
, obwohl es sich bei großen Dateien nicht immer gut verhält. In Verbindung damit isthead
es jedoch ziemlich anständig.quelle
Dies ist keine wirklich unixy Frage, aber auf jeden Fall würde ich empfehlen, etwas anderes als
less
zum Anzeigen von CSV-Dateien zu verwenden. Es ist nicht wirklich das richtige Werkzeug. Versuchen Sie etwas wieR
, das eine gute Unterstützung für das Betrachten und ggf. Arbeiten mit CSV-Dateien bietet. Um beispielsweise 5 Zeilen einer CSV-Datei zu lesen, tun Sie diesSehen
für Hilfe. Siehe auch
zum Schreiben in eine Datei usw.
EDIT: Ich hatte zufällig eine CSV-Datei, die 1.1G ist und 934991 Zeilen lang ist.
Dies überspringt 500.000 Zeilen und liest 5 Zeilen. R benötigt 1 Minute, um dies zurückzugeben, und erreicht eine Auslastung von 620 MB (!). Es sieht so aus, als würde es die übersprungenen Zeilen in den Speicher lesen, obwohl dies keinen Sinn ergibt.
Das Fazit: Ich bin nicht wirklich ein R-Fan, aber für den Umgang mit kleinen bis mittleren Datenmengen, insbesondere wenn Sie statistische Analysen durchführen möchten, könnten Sie schlechter abschneiden als R. Eine Alternative ist Python und eine CSV-Verarbeitungsbibliothek.
quelle