Ligne de commande CSV spectateur?
Quelqu'un sait d'une ligne de commande CSV viewer pour Linux/OS X? Je suis en train de penser à quelque chose comme less
mais que les espaces les colonnes dans un moyen plus lisible. (Je serais bien avec de l'ouvrir avec OpenOffice Calc ou Excel, mais c'est beaucoup trop puissant pour seulement à la recherche les données comme j'en ai besoin.) Avoir un défilement horizontal et vertical serait génial.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez également utiliser cette:
column
est un standard d'unix programme qui est très pratique-il trouve la largeur de chaque colonne, et affiche le texte comme un bien mis en forme de la table.Remarque: chaque fois que vous avez des champs vides, vous avez besoin de mettre une sorte d'espace réservé, sinon la colonne est fusionné avec les colonnes suivantes. L'exemple suivant montre comment utiliser
sed
pour insérer un espace réservé:Noter que la substitution de
,,
pour, ,
est effectué deux fois. Si vous n'avez qu'une seule fois,1,,,4
deviendra1, ,,4
depuis la seconde virgule est déjà appariés.column
. J'ai fini par faire un petit script (plus de il est passe-partout "comment puis-je l'utiliser?" et le code de vérification des erreurs). github.com/benjaminoakes/utilities/blob/master/view-csvcat /tmp/foo.csv | gawk -vFS='^"|","|"$|",|,"|,' '{out=""; for(i=1;i<NF;i++) out=out"\t"$i; print out }' | column -t -s $'\t'
man 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.
sed
substitutions:s/^,/, /
ets/,$/, /
. La dernière commande est alors:sed 's/,,/, ,/g;s/,,/, ,/g;s/^,/, /;s/,$/, /' data.csv | column -s, -t
zsh: no matches found: -#2
column -s; -t
au lieu decolumn -s, -t
.cat data.csv | column -t, -s | less
juste après avoir essuyé un exemple .fichier csv de mettre le < le mauvais sens.Vous pouvez installer
csvtool
(sur Ubuntu) viaet de lancer:
Cela va le rendre agréable et jolie à l'intérieur de lecture seule vim exemple, même si vous avez quelques cellules avec de très longs valeurs.
ocaml-csv
paquet dans lebase
pour moi dans Centos7Ont un coup d'oeil à csvkit. Il fournit un ensemble d'outils qui adhèrent à la philosophie d'UNIX (ce qui signifie qu'ils sont de petite taille, simple, unique dessein et peuvent être combinés).
Voici un exemple qui extrait les dix villes les plus peuplées en Allemagne à partir de la libre Maxmind grandes Villes du Monde, de la base de données et affiche le résultat dans une console sous une forme lisible par:
Csvkit est indépendant de la plateforme, car il est écrit en Python.
pip install csvkit
. Profitez-en!Tabview: léger python malédictions de la ligne de commande fichier CSV spectateur (et aussi d'autres tableaux Python de données, comme une liste de listes) est ici sur Github
Caractéristiques:
'- goto marque, etc.)
liste de listes)
Si vous êtes un vimmer, utilisez le CSV plugin, qui est juuust belle.
La nodejs paquet tecfu/ats-table peut être installé à l'échelle mondiale pour faire précisément cela:
Il peut également gérer les flux.
Pour plus d'info, voir le docs pour l'utilisation des terminaux ici.
Mon FOSS projet CSVfix vous permet d'afficher les fichiers CSV en "ASCII art" format de tableau.
L'irfo, en réponse, vous avez tout ce que vous avez demandé.
Mais.. si tu ne veux pas me souvenir de la commande, vous pouvez l'ajouter à votre ~/.bashrc (ou équivalent):
C'est exactement le même que l'irfo de réponse, sauf que j'ai enveloppé dans une fonction shell et je suis en utilisant le
less -S
option pour arrêter l'emballage de lignes (en faitless
se comporte plus comme un bureau/oocalc).Ouvrir un nouveau shell (ou type
source ~/.bashrc
dans votre shell courant) et exécutez la commande à l'aide de:csview <filename>
xsv est plus qu'un spectateur. Je le recommande pour la plupart des CSV de la tâche sur la ligne de commande, surtout lorsqu'il s'agit de grands ensembles de données.
J'ai utilisé pisswillis de réponse pour une longue période de temps.
Mais ensuite combinées du code que j'ai trouvé à http://chrisjean.com/2011/06/17/view-csv-data-from-the-command-line qui fonctionne le mieux pour moi:
La raison pour laquelle il fonctionne le mieux pour moi est qu'il ne gère large colonnes mieux.
tblless
dans le Tableur paquet enveloppe le unixcolumn
de commande, et s'aligne également sur les colonnes numériques.Voici une (trop) simple option:
J'ai écrit ce csv_view.sh pour formater des volumes csv à partir de la ligne de commande, ce lit tout le fichier pour déterminer la largeur optimale de chaque colonne (nécessite perl, suppose il n'y a pas de virgules dans les champs, utilise également moins):
À l'aide de TxtSushi que vous pouvez faire:
Encore un autre multi-fonctionnelle CSV (et pas seulement) la manipulation de l'outil: Miller. À partir de sa propre description, il est comme awk, sed, couper, joindre, et de les trier par nom-données indexées comme CSV, TSV, et de tableaux JSON. (lien vers le github: https://github.com/johnkerl/miller)
Tabview est vraiment bon. A travaillé avec plus de 200 MO de fichiers affichés bien qui ont été buggy avec LibreOffice ainsi que csv plugin dans gvim.
L'Anaconda version est disponible ici: https://anaconda.org/bioconda/tabview
J'ai créé tablign pour ces fins. Installer avec
et
Fonctionne également si les données sont séparées par autre chose que par des virgules. Plus important encore, il conserve les délimiteurs de sorte que vous pouvez également l'utiliser pour le style de votre ASCII tables sans sacrifier votre [Markdown,CSV,LaTeX] syntaxe.
Collecting tablify Could not find a version that satisfies the requirement tablify (from versions: ) No matching distribution found for tablify
tablign
. Fixe dans la description.J'ai écrit un script, viewtab , en Groovy, pour cet effet. Vous l'appelez comme:
Il est en fait un super-léger de feuille de calcul qui peut être appelé à partir de la ligne de commande, poignées séparées par des tabulations CSV et des fichiers, peut lire les TRÈS gros fichiers Excel et Numbers s'étouffer, et est très rapide. Ce n'est pas de ligne de commande dans le sens d'être en texte seul, mais il est indépendant de la plateforme et sera probablement adapter le projet de loi pour de nombreuses personnes à la recherche d'une solution au problème de rapidement inspecter de nombreux ou volumineux fichiers CSV, tout en travaillant dans un environnement de ligne de commande.
Le script et comment l'installer sont décrites ici:
http://bayesianconspiracy.blogspot.com/2012/06/quick-csvtab-file-viewer.html
Il y a cette courte ligne de commande du script en python: https://github.com/rgrp/csv2ascii/blob/master/csv2ascii.py
Il suffit de télécharger et le placer dans votre chemin. L'utilisation est comme
Convertir fichier csv à
csv-file-path
ascii formulaire à renvoyer le résultat surla sortie standard stdout. Si
csv-file-path
= '-' alors lire sur l'entrée standard.Options: