Repolode
medialab

medialab/xan

Herramienta de línea de comandos escrita en Rust para previsualizar, filtrar, agregar, combinar y transformar archivos CSV y TSV directamente desde la terminal.

Alternativa open source a:Microsoft Excel

Estrellas
4,540
Forks
94
Issues abiertos
127
Último commit
hace 18 horas

¿Qué es?

xan es una herramienta de línea de comandos para procesar archivos CSV desde la terminal. Ofrece un amplio conjunto de subcomandos combinables para previsualizar, buscar, filtrar, recortar, ordenar, eliminar duplicados, agregar y combinar datos tabulares, que se pueden encadenar en pipelines.

Está escrita en Rust y se basa en un parser CSV SIMD; además, algunas operaciones se paralelizan entre varios hilos, por lo que puede procesar archivos de gigabytes o terabytes. También incluye un lenguaje de expresiones propio, diseñado para filas CSV y utilizado por comandos como filter, map, transform, agg y groupby. Asimismo, permite convertir datos desde y hacia formatos como JSON, NDJSON, Excel y Parquet.

El proyecto surgió como un fork de xsv y SciencesPo's médialab lo reescribió en gran medida. Incluye funciones pensadas para la recolección de datos web y el análisis de ciencias sociales, como lexicometría, utilidades para grafos y scraping de HTML. También ofrece vistas en la terminal, histogramas, gráficos y mapas de calor para explorar datos rápidamente.

Funciones clave

  • 01Previsualiza, busca, filtra, recorta, ordena y elimina duplicados de archivos CSV desde la terminal.
  • 02Agrega y agrupa datos con un lenguaje de expresiones personalizado.
  • 03Combina, fusiona, divide y reestructura tablas con pivot y unpivot.
  • 04Convierte entre CSV y formatos como JSON, NDJSON, Excel y Parquet.
  • 05Lee archivos comprimidos con gzip y zstd, y formatos habituales de bioinformática como VCF, SAM y BED.
  • 06Genera histogramas, gráficos de dispersión y mapas de calor en la terminal.

Casos de uso

  • Inspeccionar o filtrar rápidamente una exportación CSV grande sin cargarla en una hoja de cálculo.
  • Crear pipelines de shell reproducibles para limpiar y agregar datos tabulares.
  • Calcular tablas de frecuencias y estadísticas descriptivas de encuestas o conjuntos de datos recopilados de la web.
  • Convertir datos entre CSV y formatos como JSON o Excel mediante scripts.

Inicio rápido

  1. 1

    Instala xan con Cargo

    cargo install xan --locked
  2. 2

    Descarga el corpus de muestra

    curl -LO https://github.com/medialab/corpora/raw/master/polarisation/medias.csv
  3. 3

    Previsualiza el archivo en la terminal

    xan view medias.csv

Temas

Preguntas frecuentes

¿Qué es xan?
Herramienta de línea de comandos escrita en Rust para previsualizar, filtrar, agregar, combinar y transformar archivos CSV y TSV directamente desde la terminal. xan es una herramienta de línea de comandos para procesar archivos CSV desde la terminal. Ofrece un amplio conjunto de subcomandos combinables para previsualizar, buscar, filtrar, recortar, ordenar, eliminar duplicados, agregar y combinar datos tabulares, que se pueden encadenar en pipelines.
¿xan es gratuito? ¿Qué licencia tiene?
xan es open source bajo la licencia Unlicense. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿xan sigue mantenido?
Mantenimiento activo. El último commit de xan fue el 20 oct 2026.
¿Para qué puedo usar xan?
Inspeccionar o filtrar rápidamente una exportación CSV grande sin cargarla en una hoja de cálculo. Crear pipelines de shell reproducibles para limpiar y agregar datos tabulares. Calcular tablas de frecuencias y estadísticas descriptivas de encuestas o conjuntos de datos recopilados de la web. Convertir datos entre CSV y formatos como JSON o Excel mediante scripts.
¿Cómo se instala xan?
Instala xan con Cargo: cargo install xan --locked Descarga el corpus de muestra: curl -LO https://github.com/medialab/corpora/raw/master/polarisation/medias.csv Previsualiza el archivo en la terminal: xan view medias.csv
¿Dónde consigo xan?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/medialab/xan

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados