10 points par xguru 2025-04-09 | 1 commentaires | Partager sur WhatsApp
  • 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

 
halfenif 2025-04-09

Je me demandais comment on pouvait l’utiliser, mais même en utilisant seulement sort ou drop, ça peut déjà être utile.