Bash:
Travailler avec CSV

Comment faire :

Lire un fichier CSV ligne par ligne

while IFS=, read -r colonne1 colonne2 colonne3
do
  echo "Colonne 1 : $colonne1, Colonne 2 : $colonne2, Colonne 3 : $colonne3"
done < exemple.csv

Exemple de sortie :

Colonne 1 : id, Colonne 2 : nom, Colonne 3 : email
...

Filtrer les lignes CSV sur la base d’une condition

Utilisant awk, vous pouvez facilement filtrer les lignes. Par exemple, pour trouver les lignes où la deuxième colonne est égale à “Alice” :

awk -F, '$2 == "Alice" { print $0 }' exemple.csv

Modifier la valeur d’une colonne

Pour changer la deuxième colonne en majuscules :

awk -F, 'BEGIN {OFS=",";} { $2 = toupper($2); print $0; }' exemple.csv

Trier un fichier CSV basé sur une colonne

Vous pouvez trier un fichier CSV en se basant, disons, sur la troisième colonne (numériquement) :

sort -t, -k3,3n exemple.csv

Utiliser csvkit pour des tâches plus complexes

csvkit est un ensemble d’outils en ligne de commande pour convertir et travailler avec des CSV. Il peut être installé via pip.

Pour convertir un fichier JSON en CSV :

in2csv donnees.json > donnees.csv

Pour interroger un fichier CSV en utilisant SQL :

csvsql --query "SELECT nom FROM exemple WHERE id = 10" exemple.csv

Note : L’installation de csvkit nécessite Python et peut être réalisée en utilisant pip install csvkit.