Um prompt minimalista e personalizável para vários shells, escrito em Rust, que exibe informações relevantes do projeto e do ambiente.
medialab/xan
Ferramenta de linha de comando em Rust para pré-visualizar, filtrar, agregar, combinar e transformar arquivos CSV e TSV diretamente no terminal.
Alternativa open source a:Microsoft Excel
- Estrelas
- 4,540
- Forks
- 94
- Issues abertas
- 127
- Último commit
- há 18 horas
O que é?
xan é uma ferramenta de linha de comando para processar arquivos CSV pelo terminal. Ela oferece um amplo conjunto de subcomandos combináveis para pré-visualizar, pesquisar, filtrar, fatiar, ordenar, remover duplicatas, agregar e combinar dados tabulares; esses comandos podem ser encadeados em pipelines.
Escrita em Rust e baseada em um parser CSV com SIMD, com alguns cálculos paralelizados entre threads, ela consegue processar arquivos de gigabytes a terabytes. Também inclui sua própria linguagem de expressões, adaptada a linhas CSV e usada por comandos como filter, map, transform, agg e groupby, além de converter dados de e para formatos como JSON, NDJSON, Excel e Parquet.
O projeto surgiu como um fork do xsv e foi amplamente reescrito pelo médialab da SciencesPo, com recursos voltados à coleta de dados da web e à análise em ciências sociais, incluindo lexicometria, utilitários para grafos e extração de dados de HTML. Também oferece visualizações no terminal, histogramas, gráficos e mapas de calor para exploração rápida.
Recursos principais
- 01Pré-visualize, pesquise, filtre, fatie, ordene e remova duplicatas de arquivos CSV pelo terminal.
- 02Agregue e agrupe dados com uma linguagem de expressões personalizada.
- 03Combine, mescle, divida e reorganize tabelas com pivot e unpivot.
- 04Converta entre CSV e formatos como JSON, NDJSON, Excel e Parquet.
- 05Leia arquivos compactados com gzip e zstd e formatos comuns de bioinformática, como VCF, SAM e BED.
- 06Gere histogramas, gráficos de dispersão e mapas de calor no terminal.
Casos de uso
- Inspecionar ou filtrar rapidamente uma exportação CSV grande sem carregá-la em uma planilha.
- Criar pipelines de shell reproduzíveis para limpar e agregar dados tabulares.
- Calcular tabelas de frequência e estatísticas descritivas em conjuntos de dados de pesquisas ou coletas da web.
- Converter dados entre CSV e formatos como JSON ou Excel em scripts.
Início rápido
- 1
Instale o xan com Cargo
cargo install xan --locked - 2
Baixe o corpus de exemplo
curl -LO https://github.com/medialab/corpora/raw/master/polarisation/medias.csv - 3
Visualize o arquivo no terminal
xan view medias.csv
Tópicos
Perguntas frequentes
- O que é xan?
- Ferramenta de linha de comando em Rust para pré-visualizar, filtrar, agregar, combinar e transformar arquivos CSV e TSV diretamente no terminal. xan é uma ferramenta de linha de comando para processar arquivos CSV pelo terminal. Ela oferece um amplo conjunto de subcomandos combináveis para pré-visualizar, pesquisar, filtrar, fatiar, ordenar, remover duplicatas, agregar e combinar dados tabulares; esses comandos podem ser encadeados em pipelines.
- xan é gratuito? Qual é a licença?
- xan é open source sob a licença Unlicense. Confira os termos da licença antes de usá-lo em produtos comerciais.
- xan ainda é mantido?
- Manutenção ativa. O último commit de xan foi em 20 de out. de 2026.
- Para que posso usar xan?
- Inspecionar ou filtrar rapidamente uma exportação CSV grande sem carregá-la em uma planilha. Criar pipelines de shell reproduzíveis para limpar e agregar dados tabulares. Calcular tabelas de frequência e estatísticas descritivas em conjuntos de dados de pesquisas ou coletas da web. Converter dados entre CSV e formatos como JSON ou Excel em scripts.
- Como instalar xan?
- Instale o xan com Cargo: cargo install xan --locked Baixe o corpus de exemplo: curl -LO https://github.com/medialab/corpora/raw/master/polarisation/medias.csv Visualize o arquivo no terminal: xan view medias.csv
- Onde consigo xan?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/medialab/xan
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma pequena CLI em Rust que exibe dados CSV, TSV, JSON e SQLite em tabelas estilizadas e ajustadas automaticamente no terminal.
Um app leve de interface de terminal (TUI) para visualizar e consultar arquivos de dados tabulares, como CSV, Parquet, JSON, Excel e SQLite.
Warp é um ambiente de desenvolvimento agentivo baseado no terminal, com um agente de programação integrado ou suporte aos seus próprios agentes de CLI.
Um clone do cat(1) para o terminal, com realce de sintaxe, indicadores de alterações do Git e paginação automática.
Uma alternativa rápida e fácil de usar ao comando Unix find para localizar arquivos e diretórios pelo nome.