10 pontos por xguru 2025-04-09 | 1 comentários | Compartilhar no WhatsApp
  • Ferramenta baseada em Rust para processar arquivos CSV grandes no terminal de forma rápida e eficiente
  • Além de vários recursos de manipulação de dados, também oferece suporte a exibição, visualização, análise, web scraping, processamento de texto e análise de redes
  • Internamente, usa multithreading, linguagem de expressões e processamento paralelo para alto desempenho
  • Consegue lidar sem problemas com arquivos CSV gigantes (na faixa de gigabytes)
  • Fornece uma linguagem de expressões dedicada muito mais rápida que Python ou Lua
  • Permite implementar fluxos de dados complexos com encadeamento de comandos únicos
  • Vai de estatísticas simples até visualizações básicas como heatmaps e histogramas
  • Inclui recursos avançados para pesquisadores de ciências sociais e análise de dados da web
  • Compatível com Linux, macOS e Windows
  • Reconhece automaticamente vários formatos, como .tsv, .psv, .ssv, .gz

Exemplos de comandos principais

  • Exploração

    • xan headers: exibe a lista de colunas
    • xan view: visualiza em formato de tabela no terminal
    • xan flatten: expande todos os valores de uma linha para visualização
    • xan hist, xan plot, xan heatmap: recursos de visualização
  • Filtragem & busca

    • xan search -s 키워드 파일.csv: encontra linhas que contêm uma palavra-chave específica
    • xan filter '조건식' 파일.csv: filtra linhas com uma expressão
  • Transformação

    • xan select: seleciona colunas
    • xan map: cria uma nova coluna com uma expressão
    • xan transform: altera uma coluna existente com uma expressão
  • Agregação e análise

    • xan count: conta o número de linhas
    • xan frequency: gera uma tabela de frequências
    • xan stats: exibe estatísticas descritivas
    • xan agg: agregação definida pelo usuário
    • xan groupby: executa agregações por grupo
  • Ordenação & remoção de duplicatas

    • xan sort -s 컬럼: ordena
    • xan dedup -s 컬럼: remove duplicatas
  • Combinação

    • xan join: faz join com base em uma chave
    • xan merge: mescla arquivos ordenados
    • xan cat: concatena por linhas ou colunas
  • Linguagem de expressões

    • xan map 'fmt("{} ({})", name, foundation_year)' key
    • xan filter 'batch > 1'
    • xan transform name 'split(name, ".") | first | upper'
    • A linguagem de expressões é uma DSL leve especializada em manipulação de CSV; consulte na documentação oficial a cola, lista de funções e lista de funções de agregação
  • Recursos de visualização

    • xan hist: histograma baseado em texto
    • xan plot: gráfico de dispersão/gráfico de linhas
    • xan heatmap: heatmap de correlação
    • xan view -p: exibe a tabela completa no terminal

Recursos avançados

  • Suporte completo a pipelines de entrada/saída padrão
  • Processamento automático de arquivos compactados em gzip
  • DSL de scraping embutida (conversão de HTML → CSV)
  • Suporte a lexicometria e fuzzy matching: tokenize, vocab, cluster
  • Transformação de rede/matriz: network, matrix

1 comentários

 
halfenif 2025-04-09

Eu estava pensando em como isso poderia ser aplicado, mas acho que só usar sort ou drop já seria útil.