- Outil basé sur Rust permettant de traiter rapidement et efficacement de très gros fichiers CSV depuis le terminal
- En plus de nombreuses fonctions de manipulation de données, il prend aussi en charge l’affichage, la visualisation, l’analyse, le web scraping, le traitement de texte et l’analyse de réseaux
- En interne, il s’appuie sur le multithreading, un langage d’expression et le traitement parallèle pour offrir de hautes performances
- Peut traiter sans difficulté des fichiers CSV gigantesques, de l’ordre du gigaoctet
- Fournit un langage d’expression dédié bien plus rapide que Python ou Lua
- Permet de mettre en place des flux de données complexes via le chaînage d’une seule ligne de commande
- Va des statistiques simples jusqu’aux visualisations de base comme les heatmaps et les histogrammes
- Inclut des fonctions avancées pour les chercheurs en sciences sociales et l’analyse de données web
- Compatible avec Linux, macOS et Windows
- Reconnaît automatiquement divers formats comme
.tsv, .psv, .ssv, .gz
Exemples de commandes clés
-
Exploration
xan headers : affiche la liste des colonnes
xan view : affiche les données sous forme de tableau dans le terminal
xan flatten : déplie toutes les valeurs d’une ligne
xan hist, xan plot, xan heatmap : fonctions de visualisation
-
Filtrage et recherche
xan search -s 키워드 파일.csv : trouve les lignes contenant un mot-clé précis
xan filter '조건식' 파일.csv : filtre les lignes avec une expression
-
Transformation
xan select : sélection des colonnes
xan map : crée une nouvelle colonne à l’aide d’une expression
xan transform : modifie une colonne existante avec une expression
-
Agrégation et analyse
xan count : compte le nombre de lignes
xan frequency : crée une table de fréquences
xan stats : affiche des statistiques descriptives
xan agg : agrégation personnalisée
xan groupby : effectue une agrégation par groupe
-
Tri et déduplication
xan sort -s 컬럼 : tri
xan dedup -s 컬럼 : suppression des doublons
-
Combinaison
xan join : jointure à partir d’une clé
xan merge : fusion de fichiers triés
xan cat : concaténation par lignes ou par colonnes
-
Langage d’expression
xan map 'fmt("{} ({})", name, foundation_year)' key
xan filter 'batch > 1'
xan transform name 'split(name, ".") | first | upper'
- Le langage d’expression est une DSL légère spécialisée dans la manipulation de CSV ; voir dans la documentation officielle la cheat sheet, la liste des fonctions et la liste des fonctions d’agrégation
-
Fonctions de visualisation
xan hist : histogramme en texte
xan plot : nuage de points / graphique en courbes
xan heatmap : heatmap de corrélation
xan view -p : affiche le tableau complet dans le terminal
Fonctions avancées
- Prise en charge complète des pipelines d’entrée/sortie standard
- Gestion automatique des fichiers compressés gzip
- DSL de scraping intégrée (conversion HTML → CSV)
- Prise en charge de la lexicométrie et du fuzzy matching :
tokenize, vocab, cluster
- Transformations réseau/matrice :
network, matrix
1 commentaires
Je me demandais comment on pouvait l’utiliser, mais même en utilisant seulement
sortoudrop, ça peut déjà être utile.