Kennt jemand einen Kommandozeilen-CSV-Viewer für Linux / OS X? Ich denke an so etwas, less
aber das räumt die Spalten besser lesbar aus. (Ich würde es gut mit ihm mit Openoffice Calc oder Excel öffnen, aber das ist Art und Weise überwältigt zu für nur schauen auf die Daten , wie es nötig ist .) Mit horizontales und vertikales Scrollen wäre toll.
linux
macos
command-line
csv
Benjamin Oakes
quelle
quelle
Antworten:
Sie können auch Folgendes verwenden:
column
ist ein Standard-Unix-Programm, das sehr praktisch ist - es findet die entsprechende Breite jeder Spalte und zeigt den Text als schön formatierte Tabelle an.Hinweis: Wenn Sie leere Felder haben, müssen Sie einen Platzhalter einfügen, da sonst die Spalte mit den folgenden Spalten zusammengeführt wird. Das folgende Beispiel zeigt, wie Sie
sed
einen Platzhalter einfügen:Beachten Sie, dass die Ersetzung von
,,
for, ,
zweimal erfolgt. Wenn Sie es nur einmal tun,1,,,4
wird,1, ,,4
da das zweite Komma bereits übereinstimmt.quelle
column
. Am Ende habe ich daraus ein kurzes Shell-Skript gemacht (das meiste davon ist Boilerplate "Wie verwende ich es?" Und Fehlerprüfcode). github.com/benjaminoakes/utilities/blob/master/view-csvman column
:-n By default, the column command will merge multiple adjacent delimiters into a single delimiter when using the -t option; this option disables that behavior. This option is a Debian GNU/Linux extension.
Sie können
csvtool
(unter Ubuntu) über installierenund dann ausführen:
Dies macht es in einer schreibgeschützten vim-Instanz schön und hübsch, selbst wenn Sie einige Zellen mit sehr langen Werten haben.
quelle
ocaml-csv
Paket in derbase
für mich in Centos7Schauen Sie sich csvkit an . Es bietet eine Reihe von Tools, die der UNIX-Philosophie entsprechen (dh sie sind klein, einfach, zweckmäßig und können kombiniert werden).
Hier ist ein Beispiel, das die zehn bevölkerungsreichsten Städte Deutschlands aus der kostenlosen Maxmind World Cities-Datenbank extrahiert und das Ergebnis in einem konsolenlesbaren Format anzeigt:
Csvkit ist plattformunabhängig, da es in Python geschrieben ist.
quelle
pip install csvkit
. Genießen!Tabview: Der leichtgewichtige Python-Curses-Befehlszeilen-CSV-Datei-Viewer (und auch andere tabellarische Python-Daten wie eine Liste von Listen) befindet sich hier auf Github
Eigenschaften:
quelle
Wenn Sie ein Vimmer sind, verwenden Sie das CSV-Plugin , das sehr schön ist .
quelle
Das nodejs-Paket tecfu / tty-table kann global installiert werden, um genau dies zu tun:
Es kann auch Streams verarbeiten.
Weitere Informationen finden Sie in den Dokumenten zur Verwendung des Terminals hier .
quelle
xsv ist mehr als ein Betrachter. Ich empfehle es für die meisten CSV-Aufgaben in der Befehlszeile, insbesondere bei großen Datenmengen.
quelle
Mit meinem FOSS-Projekt CSVfix können Sie CSV-Dateien im Tabellenformat "ASCII art" anzeigen.
quelle
Ofris Antwort gibt dir alles, wonach du gefragt hast. Aber ... wenn Sie sich nicht an den Befehl erinnern möchten, können Sie diesen zu Ihrem ~ / .bashrc (oder einem gleichwertigen) hinzufügen:
Dies ist genau das Gleiche wie die Antwort von Ofri, außer dass ich sie in eine Shell-Funktion eingewickelt habe und die
less -S
Option verwende, um das Umbrechen von Zeilen zu stoppen (less
verhält sich eher wie ein Büro / eine Oocalc).Öffnen Sie eine neue Shell (oder geben Sie
source ~/.bashrc
Ihre aktuelle Shell ein) und führen Sie den Befehl aus mit:csview <filename>
quelle
Ich habe lange Zeit die Antwort von pisswillis verwendet.
Aber dann kombinierte ich einen Code, den ich unter http://chrisjean.com/2011/06/17/view-csv-data-from-the-command-line gefunden hatte und der für mich besser funktioniert:
Der Grund, warum es für mich besser funktioniert, ist, dass es breite Spalten besser handhabt.
quelle
tblless
Im Tabulator- Paket wird der Unix-column
Befehl eingeschlossen und auch numerische Spalten ausgerichtet.quelle
Hier ist eine (wahrscheinlich auch) einfache Option:
quelle
Ein weiteres multifunktionales CSV-Manipulationswerkzeug (und nicht nur): Miller . Nach seiner eigenen Beschreibung ist es wie awk, sed, cut, join und sort für namenindizierte Daten wie CSV, TSV und tabellarisches JSON. (Link zum Github-Repository: https://github.com/johnkerl/miller )
quelle
Ich habe diese Datei csv_view.sh geschrieben, um CSVs über die Befehlszeile zu formatieren. Dabei wird die gesamte Datei gelesen, um die optimale Breite jeder Spalte zu ermitteln (erfordert Perl, setzt voraus, dass in Feldern keine Kommas vorhanden sind, verwendet auch weniger):
quelle
Mit TxtSushi können Sie Folgendes tun:
quelle
Tabview ist wirklich gut. Arbeitete mit mehr als 200 MB Dateien, die gut angezeigt wurden und mit LibreOffice sowie dem CSV-Plugin in gvim fehlerhaft waren.
Die Anaconda-Version ist hier verfügbar: https://anaconda.org/bioconda/tabview
quelle
Ich habe Tablign für diese (und andere) Zwecke erstellt. Installieren mit
und
Funktioniert auch, wenn die Daten durch etwas anderes als Kommas getrennt sind. Am wichtigsten ist, dass die Trennzeichen erhalten bleiben , sodass Sie damit auch Ihre ASCII-Tabellen formatieren können, ohne die Syntax [Markdown, CSV, LaTeX] zu beeinträchtigen.
quelle
Collecting tablify Could not find a version that satisfies the requirement tablify (from versions: ) No matching distribution found for tablify
tablign
. In der Beschreibung behoben.Zu diesem Zweck habe ich in Groovy ein Skript, viewtab , geschrieben. Sie rufen es auf wie:
Es handelt sich im Grunde genommen um eine superleichte Tabelle, die über die Befehlszeile aufgerufen werden kann, CSV- und tabulatorgetrennte Dateien verarbeitet, SEHR große Dateien lesen kann, an denen Excel und Numbers ersticken, und die sehr schnell ist. Es ist keine Befehlszeile im Sinne von Nur-Text, aber es ist plattformunabhängig und wird wahrscheinlich für viele Leute geeignet sein, die nach einer Lösung für das Problem suchen, viele oder große CSV-Dateien während der Arbeit in einer Befehlszeilenumgebung schnell zu überprüfen .
Das Skript und die Installation werden hier beschrieben:
http://bayesianconspiracy.blogspot.com/2012/06/quick-csvtab-file-viewer.html
quelle
In Python gibt es dieses kurze Befehlszeilenskript: https://github.com/rgrp/csv2ascii/blob/master/csv2ascii.py
Einfach herunterladen und in deinen Pfad einfügen. Nutzung ist wie
Konvertieren Sie die CSV-Datei in
csv-file-path
das ASCII-Formular und geben Sie das Ergebnis auf stdout zurück. Wenncsv-file-path
= '-', dann lesen Sie von stdin.Optionen:
quelle