Miller - Optimisez vos opérations sur les données CSV et JSON

par Korben -

Vous en avez marre de jongler avec des tas d’outils compliqués pour travailler avec vos fichiers CSV et JSON ? Allez, on balance tout ça et on installe Miller, un outil plutôt cool recommandé par Lolilol, fidèle lecteur de Korben.info !

Miller, dont la documentation est aussi douce que la joue molle de votre grand-mamie, va vous permettre de requêter, manipuler ou reformater vos fichiers CSV / JSON avec une précision digne d’un grand chirurgien.

Ça combine la puissance des commandes sort, cut et join avec une compréhension approfondie des formats de données structurés, ce qui va vous permettre d’effectuer des opérations complexes sur vos fichiers CSV et JSON sans toucher à la structure des données.

Vous pouvez télécharger les binaires pour macOS et Linux sur la page de releases de GitHub ou sinon, lancer l’une des commandes suivantes :

  • Sur Linux : sudo apt-get install miller ou sudo yum install miller
  • Sur macOS : brew install miller
  • Sur Windows : choco install miller

Une fois Miller installé, vous pouvez faire plein de choses cool avec vos fichiers de données :

mlr --json cat generated.json
mlr --icsv --opprint cat generated.csv

Trier par salaire décroissant :

mlr --icsv --opprint sort -nr salary example.csv

Ou encore les filtrer pour par exemple ne garder que les salaires inférieurs à 31 000 $ :

mlr --icsv --opprint filter '$salary < 31000' example.csv

Vous pouvez aussi convertir un CSV en JSON :

mlr --icsv --ojson cat example.csv > example.json

Miller permet également d’agréger des données et faire des statistiques. Par exemple, calculer le total des salaires versés par secteur :

mlr --icsv --opprint stats1 -a sum -f salary -g department example.csv

Il est également possible de faire des jointures sur des fichiers :

mlr --icsv --opprint join -j code_produit -f produits.csv ventes.csv

Et pourquoi pas, calculer les valeurs d’une nouvelle colonne :

mlr --icsv --opprint put '$marge = $prix_vente - $cout_production' ventes.csv

Je peux pas tout vous détailler, mais il y a une super documentation ici.

Voici un récap des fonctionnalités principales de Miller :

  • Conversion de format : Convertissez facilement entre CSV, JSON, et d’autres formats.
  • Manipulation de données : Supprimez, ajoutez ou modifiez des colonnes en quelques commandes.
  • Pré-traitement et post-traitement : Idéal pour nettoyer et formater les données avant de les charger dans une base de données ou un pipeline de traitement.
  • Verbes compacts et langage de programmation : Utilisez des commandes simples ou des expressions plus complexes selon vos besoins.

Bref, c’est un outil puissant qui peut grandement simplifier votre travail avec des fichiers de données structurées. Que vous soyez un analyste de données, un développeur ou simplement quelqu’un qui travaille régulièrement avec des fichiers CSV et JSON, Miller peut vous faire gagner du temps et de l’efficacité.

Source