- Herramienta basada en Rust para procesar archivos CSV grandes de forma rápida y eficiente desde la terminal
- Además de varias funciones de manipulación de datos, también ofrece soporte para visualización, gráficos, análisis, web scraping, procesamiento de texto y análisis de redes
- Internamente aprovecha multithreading, un lenguaje de expresiones y procesamiento en paralelo para lograr alto rendimiento
- Puede manejar sin problemas archivos CSV gigantes (de varios gigabytes)
- Incluye un lenguaje de expresiones dedicado mucho más rápido que Python o Lua
- Permite implementar flujos de datos complejos mediante encadenamiento de comandos en una sola línea
- Va desde estadísticas simples hasta visualizaciones básicas como mapas de calor e histogramas
- Incluye funciones avanzadas para investigadores de ciencias sociales y análisis de datos web
- Compatible con Linux, macOS y Windows
- Reconoce automáticamente varios formatos como
.tsv, .psv, .ssv, .gz
Ejemplos de comandos clave
-
Exploración
xan headers: muestra la lista de columnas
xan view: ver en formato de tabla desde la terminal
xan flatten: desplegar todos los valores de una fila
xan hist, xan plot, xan heatmap: funciones de visualización
-
Filtrado y búsqueda
xan search -s palabra_clave archivo.csv: buscar filas que contengan una palabra clave
xan filter 'expresión_condicional' archivo.csv: filtrar filas con expresiones
-
Transformación
xan select: seleccionar columnas
xan map: crear una nueva columna con una expresión
xan transform: modificar una columna existente con una expresión
-
Agregación y análisis
xan count: contar filas
xan frequency: generar una tabla de frecuencias
xan stats: mostrar estadísticas descriptivas
xan agg: agregación definida por el usuario
xan groupby: agregar por grupos
-
Ordenamiento y eliminación de duplicados
xan sort -s columna: ordenar
xan dedup -s columna: eliminar duplicados
-
Combinación
xan join: hacer join usando una clave
xan merge: fusionar archivos ordenados
xan cat: concatenar por filas o columnas
-
Lenguaje de expresiones
xan map 'fmt("{} ({})", name, foundation_year)' key
xan filter 'batch > 1'
xan transform name 'split(name, ".") | first | upper'
- El lenguaje de expresiones es un DSL ligero especializado en manipular CSV; en la documentación oficial se pueden consultar la chuleta, la lista de funciones y la lista de funciones de agregación
-
Funciones de visualización
xan hist: histograma basado en texto
xan plot: gráfico de dispersión / gráfico de líneas
xan heatmap: mapa de calor de correlación
xan view -p: mostrar la tabla completa en la terminal
Funciones avanzadas
- Soporte completo para pipelines de entrada/salida estándar
- Procesamiento automático de archivos comprimidos con gzip
- DSL de scraping integrado (HTML → CSV)
- Soporte para lexicometry y fuzzy matching:
tokenize, vocab, cluster
- Transformación de redes/matrices:
network, matrix
1 comentarios
Me preguntaba cómo se podría aprovechar, pero incluso usar solo
sortodropya tendría sentido.