Kennt jemand einen Befehlszeilen-CSV-Viewer für Linux/OS X? Ich denke da an etwas wie less
aber dadurch werden die Spalten besser lesbar verteilt. (Ich hätte kein Problem damit, die Datei mit OpenOffice Calc oder Excel zu öffnen, aber das ist viel zu aufwendig für nur siehe Ich muss mir die Daten ansehen, wie ich sie brauche.) Ein horizontaler und vertikaler Bildlauf wäre toll.
Antworten
Zu viele Anzeigen?Sie können auch dies verwenden:
column -s, -t < somefile.csv | less -#2 -N -S
column
ist ein Standard-Unix-Programm, das sehr praktisch ist - es findet die passende Breite jeder Spalte und zeigt den Text als schön formatierte Tabelle an.
Hinweis: Wenn Sie leere Felder haben, müssen Sie eine Art Platzhalter einfügen, da die Spalte sonst mit den nachfolgenden Spalten zusammengelegt wird. Das folgende Beispiel zeigt, wie man sed
um einen Platzhalter einzufügen:
$ cat data.csv
1,2,3,4,5
1,,,,5
$ sed 's/,,/, ,/g;s/,,/, ,/g' data.csv | column -s, -t
1 2 3 4 5
1 5
$ cat data.csv
1,2,3,4,5
1,,,,5
$ column -s, -t < data.csv
1 2 3 4 5
1 5
$ sed 's/,,/, ,/g;s/,,/, ,/g' data.csv | column -s, -t
1 2 3 4 5
1 5
Beachten Sie, dass die Ersetzung von ,,
para , ,
wird zweimal durchgeführt. Wenn Sie es nur einmal tun, 1,,,4
werden 1, ,,4
da das zweite Komma bereits übereinstimmt.
Werfen Sie einen Blick auf csvkit . Es bietet eine Reihe von Werkzeugen, die der UNIX-Philosophie folgen (d. h. sie sind klein, einfach, zweckgebunden und können kombiniert werden).
Hier ist ein Beispiel, das die zehn bevölkerungsreichsten Städte in Deutschland aus dem freien Internet extrahiert Maxmind Weltstädte-Datenbank und zeigt das Ergebnis in einem konsolenlesbaren Format an:
$ csvgrep -e iso-8859-1 -c 1 -m "de" worldcitiespop | csvgrep -c 5 -r "\d+"
| csvsort -r -c 5 -l | csvcut -c 1,2,4,6 | head -n 11 | csvlook
-----------------------------------------------------
| line_number | Country | AccentCity | Population |
-----------------------------------------------------
| 1 | de | Berlin | 3398362 |
| 2 | de | Hamburg | 1733846 |
| 3 | de | Munich | 1246133 |
| 4 | de | Cologne | 968823 |
| 5 | de | Frankfurt | 648034 |
| 6 | de | Dortmund | 594255 |
| 7 | de | Stuttgart | 591688 |
| 8 | de | Düsseldorf | 577139 |
| 9 | de | Essen | 576914 |
| 10 | de | Bremen | 546429 |
-----------------------------------------------------
Csvkit ist plattformunabhängig, da es in Python geschrieben ist.
Tabview: leichtgewichtiger Python-Curses-Kommandozeilen-CSV-Dateibetrachter (und auch andere tabellarische Python-Daten, wie eine Liste von Listen) ist hier auf Github
Merkmale:
- Python 2.7+, 3.x
- Unicode-Unterstützung
- Tabellenkalkulationsähnliche Ansicht zur einfachen Visualisierung tabellarischer Daten
- Vim-ähnliche Navigation (h,j,k,l, g(oben), G(unten), 12G goto line 12, m - mark, ' - Sprung zur Markierung, usw.)
- Dauerhafte Kopfzeile umschalten
- Dynamische Anpassung von Spaltenbreite und -abstand
- Aufsteigend oder absteigend nach einer beliebigen Spalte sortieren. Natürliche" Sortierung für numerische Werte.
- Volltextsuche, n und p zum Wechseln zwischen den Suchergebnissen
- Enter", um den gesamten Zellinhalt anzuzeigen
- Zellinhalt in die Zwischenablage übertragen
- F1 oder ? für Tastenkombinationen
- Kann auch über die Python-Befehlszeile verwendet werden, um beliebige tabellarische Daten zu visualisieren (z. B. Liste von Listen)
Wenn Sie ein Vimmer sind, verwenden Sie die CSV-Plugin die einfach nur schön ist:
.
- See previous answers
- Weitere Antworten anzeigen