Alguém conhece um visualizador de CSV de linha de comando para Linux / OS X? Estou pensando em algo assim, less
mas que espaça as colunas de uma maneira mais legível. (Eu ficaria bem em abri-lo com o OpenOffice Calc ou Excel, mas isso é dominado demais para apenas olhar os dados como eu preciso.) Ter rolagem horizontal e vertical seria ótimo.
linux
macos
command-line
csv
Benjamin Oakes
fonte
fonte
Respostas:
Você também pode usar isso:
column
é um programa unix padrão que é muito conveniente - encontra a largura apropriada de cada coluna e exibe o texto como uma tabela bem formatada.Nota: sempre que houver campos vazios, você precisará colocar algum tipo de espaço reservado, caso contrário, a coluna será mesclada com as seguintes. O exemplo a seguir demonstra como usar
sed
para inserir um espaço reservado:Observe que a substituição de
,,
por, ,
é feita duas vezes. Se você fizer isso apenas uma vez,1,,,4
se tornará1, ,,4
uma vez que a segunda vírgula já corresponde.fonte
column
. Acabei transformando este um script de shell curto (a maior parte é clichê "como faço para usá-lo?" E código de verificação de erro). 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.
Você pode instalar
csvtool
(no Ubuntu) viae então execute:
Isso o tornará agradável e bonito dentro de uma instância do vim somente leitura, mesmo se você tiver algumas células com valores muito longos.
fonte
ocaml-csv
pacotebase
no Centos7 para mimDê uma olhada no csvkit . Ele fornece um conjunto de ferramentas que aderem à filosofia do UNIX (o que significa que são pequenas, simples, de propósito único e podem ser combinadas).
Aqui está um exemplo que extrai as dez cidades mais populosas da Alemanha do banco de dados gratuito Maxmind World Cities e exibe o resultado em um formato legível por console:
O Csvkit é independente da plataforma, porque está escrito em Python.
fonte
pip install csvkit
. Aproveitar!Tabview: python leve amaldiçoa o visualizador de arquivos CSV da linha de comando (e também outros dados tabulares do Python, como uma lista de listas) está aqui no Github
Recursos:
fonte
Se você é um vimmer, use o plug-in CSV , que é muito bonito .
fonte
O pacote nodejs tecfu / tty-table pode ser instalado globalmente para fazer exatamente isso:
Ele também pode lidar com fluxos.
Para mais informações, consulte os documentos para uso do terminal aqui .
fonte
O xsv é mais do que um visualizador. Eu o recomendo para a maioria das tarefas CSV na linha de comando, especialmente ao lidar com grandes conjuntos de dados.
fonte
Meu projeto FOSS CSVfix permite exibir arquivos CSV no formato de tabela "Arte ASCII".
fonte
A resposta da Ofri fornece tudo o que você pediu. Mas .. se você não quiser se lembrar do comando, poderá adicioná-lo ao seu ~ / .bashrc (ou equivalente):
Isso é exatamente o mesmo que a resposta de Ofri, exceto que eu a envolvi em uma função shell e estou usando a
less -S
opção para interromper a quebra de linhas (fazless
se comporte mais como um office / oocalc).Abra um novo shell (ou digite
source ~/.bashrc
seu shell atual) e execute o comando usando:csview <filename>
fonte
Eu usei a resposta de pisswillis por um longo tempo.
Mas, em seguida, combinei um código que encontrei em http://chrisjean.com/2011/06/17/view-csv-data-from-the-command-line que funciona melhor para mim:
A razão pela qual funciona melhor para mim é que ele lida melhor com colunas largas.
fonte
tblless
no pacote Tabulator envolve ocolumn
comando unix e também alinha colunas numéricas.fonte
Aqui está uma opção (provavelmente também) simples:
fonte
Mais uma ferramenta multifuncional de manipulação de CSV (e não apenas): Miller . A partir de sua própria descrição, é como awk, sed, recortar, ingressar e classificar para dados indexados por nome, como CSV, TSV e JSON tabular. (link para o repositório do github: https://github.com/johnkerl/miller )
fonte
Eu escrevi este csv_view.sh para formatar CSVs na linha de comando, isso lê o arquivo inteiro para descobrir a largura ideal de cada coluna (requer perl, assume que não há vírgulas nos campos, também usa menos):
fonte
Usando o TxtSushi, você pode:
fonte
Tabview é realmente bom. Trabalhou com mais de 200 MB de arquivos que apresentavam problemas com o LibreOffice e com o plugin csv no gvim.
A versão do Anaconda está disponível aqui: https://anaconda.org/bioconda/tabview
fonte
Eu criei o tablign para esses (e outros) propósitos. Instale com
e
Também funciona se os dados estiverem separados por algo além de vírgulas. Mais importante, ele preserva os delimitadores para que você também possa usá-lo para estilizar suas tabelas ASCII sem sacrificar sua sintaxe [Markdown, CSV, LaTeX].
fonte
Collecting tablify Could not find a version that satisfies the requirement tablify (from versions: ) No matching distribution found for tablify
tablign
. Corrigido na descrição.Eu escrevi um script, viewtab , no Groovy para esse fim. Você o invoca como:
É basicamente uma planilha super leve que pode ser chamada a partir da linha de comando, manipula arquivos separados por tabulações e CSV, pode ler arquivos MUITO grandes que o Excel e o Numbers usam e é muito rápida. Não é uma linha de comando no sentido de ser apenas texto, mas é independente da plataforma e provavelmente atenderá a muitas pessoas que procuram uma solução para o problema de inspecionar rapidamente muitos ou grandes arquivos CSV enquanto trabalha em um ambiente de linha de comando .
O script e como instalá-lo são descritos aqui:
http://bayesianconspiracy.blogspot.com/2012/06/quick-csvtab-file-viewer.html
fonte
Existe este pequeno script de linha de comando em python: https://github.com/rgrp/csv2ascii/blob/master/csv2ascii.py
Basta baixar e colocar no seu caminho. O uso é como
Converta o arquivo csv em
csv-file-path
para o formulário ascii retornando o resultado em stdout. E secsv-file-path
= '-', leia a partir de stdin.Opções:
fonte