Filtrer des données avec csvkit

Traitement des données en Shell

Susan Sun

Data Person

Que signifie filtrer des données ?

Nous pouvons créer un sous-ensemble du fichier source en :

  1. Filtrant par colonne
  2. Filtrant par ligne

csvcut : filtre par nom ou position de colonne

csvgrep : filtre par valeur de ligne par correspondance exacte, motif ou regex

Traitement des données en Shell

csvcut : filtrer par colonne

csvcut : filtre et tronque des fichiers CSV par nom de colonne ou position de colonne

Documentation :

csvcut -h
usage: csvcut [-h] [-d DELIMITER] [-t] [-q QUOTECHAR] [-u {0,1,2,3}] [-b]
              [-p ESCAPECHAR] [-z FIELD_SIZE_LIMIT] [-e ENCODING] [-S] [-H]
              [-K SKIP_LINES] [-v] [-l] [--zero] [-V] [-n] [-c COLUMNS]
Traitement des données en Shell

csvcut : filtrer par colonne

Utilisez l'option --names ou -n pour afficher tous les noms de colonnes de Spotify_MusicAttributes.csv.

csvcut -n Spotify_MusicAttributes.csv
  1: track_id
  2: danceability
  3: duration_ms
Traitement des données en Shell

csvcut : filtrer par colonne

  1: track_id
  2: danceability
  3: duration_ms

Retourne la première colonne par position :

csvcut -c 1 Spotify_MusicAttributes.csv
track_id
118GQ70Sp6pMqn6w1oKuki
6S7cr72a7a8RVAXzDCRj6m
Traitement des données en Shell

csvcut : filtrer par colonne

  1: track_id
  2: danceability
  3: duration_ms

Retourne seulement la première colonne par nom :

csvcut -c "track_id" Spotify_MusicAttributes.csv
track_id
118GQ70Sp6pMqn6w1oKuki
6S7cr72a7a8RVAXzDCRj6m
Traitement des données en Shell

csvcut : filtrer par colonne

  1: track_id
  2: danceability
  3: duration_ms

Retourne les deuxième et troisième colonnes par position :

csvcut -c 2,3 Spotify_MusicAttributes.csv
danceability,duration_ms
0.787,124016.0
0.777,128016.0
0.795999999999999,132742.0
Traitement des données en Shell

csvcut : filtrer par colonne

  1: track_id
  2: danceability
  3: duration_ms

Retourne les deuxième et troisième colonnes par nom :

csvcut -c "danceability","duration_ms" Spotify_MusicAttributes.csv
danceability,duration_ms
0.787,124016.0
0.777,128016.0
0.795999999999999,132742.0
Traitement des données en Shell

csvgrep : filtrer par valeur de ligne

csvgrep :

  • filtre par ligne avec correspondance exacte ou regex
  • doit être utilisé avec une des options suivantes :

-m : suivi de la valeur exacte à filtrer

-r : suivi d'un motif regex

-f : suivi du chemin d'un fichier

Documentation :

csvgrep -h
Traitement des données en Shell

csvgrep : filtrer par valeur de ligne

Trouver dans Spotify_Popularity.csvtrack_id = 5RCPsfzmEpTXMCTNk7wEfQ

csvgrep -c "track_id" -m 5RCPsfzmEpTXMCTNk7wEfQ Spotify_Popularity.csv
track_id,popularity
5RCPsfzmEpTXMCTNk7wEfQ,7.0
csvgrep -c 1 -m 5RCPsfzmEpTXMCTNk7wEfQ Spotify_Popularity.csv
track_id,popularity
5RCPsfzmEpTXMCTNk7wEfQ,7.0
Traitement des données en Shell

Filtrons des données avec csvkit !

Traitement des données en Shell

Preparing Video For Download...