Filtrarea datelor cu csvkit

Procesarea datelor în linia de comandă

Susan Sun

Data Person

Ce înseamnă filtrarea datelor?

Putem crea un subset al fișierului de date original prin:

  1. Filtrarea datelor pe coloană
  2. Filtrarea datelor pe rând

csvcut: filtrează datele după numele sau poziția coloanei

csvgrep: filtrează datele după valoarea rândului prin potrivire exactă, șabloane sau regex

Procesarea datelor în linia de comandă

csvcut: filtrarea datelor pe coloane

csvcut: filtrează și trunchiază fișiere CSV după numele coloanei sau poziția coloanei

Documentație:

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]
Procesarea datelor în linia de comandă

csvcut: filtrarea datelor pe coloane

Utilizați opțiunea --names sau -n pentru a afișa toate numele coloanelor din Spotify_MusicAttributes.csv.

csvcut -n Spotify_MusicAttributes.csv
  1: track_id
  2: danceability
  3: duration_ms
Procesarea datelor în linia de comandă

csvcut: filtrarea datelor pe coloane

  1: track_id
  2: danceability
  3: duration_ms

Returnează prima coloană, după poziție:

csvcut -c 1 Spotify_MusicAttributes.csv
track_id
118GQ70Sp6pMqn6w1oKuki
6S7cr72a7a8RVAXzDCRj6m
Procesarea datelor în linia de comandă

csvcut: filtrarea datelor pe coloane

  1: track_id
  2: danceability
  3: duration_ms

Returnează doar prima coloană, după nume:

csvcut -c "track_id" Spotify_MusicAttributes.csv
track_id
118GQ70Sp6pMqn6w1oKuki
6S7cr72a7a8RVAXzDCRj6m
Procesarea datelor în linia de comandă

csvcut: filtrarea datelor pe coloane

  1: track_id
  2: danceability
  3: duration_ms

Returnează coloanele doi și trei, după poziție:

csvcut -c 2,3 Spotify_MusicAttributes.csv
danceability,duration_ms
0.787,124016.0
0.777,128016.0
0.795999999999999,132742.0
Procesarea datelor în linia de comandă

csvcut: filtrarea datelor pe coloane

  1: track_id
  2: danceability
  3: duration_ms

Returnează coloanele doi și trei, după nume:

csvcut -c "danceability","duration_ms" Spotify_MusicAttributes.csv
danceability,duration_ms
0.787,124016.0
0.777,128016.0
0.795999999999999,132742.0
Procesarea datelor în linia de comandă

csvgrep: filtrarea datelor după valoarea rândului

csvgrep:

  • filtrează după rând prin potrivire exactă sau regex
  • trebuie combinat cu una dintre aceste opțiuni:

-m: urmată de valoarea exactă a rândului

-r: urmată de un șablon regex

-f: urmată de calea către un fișier

Documentație:

csvgrep -h
Procesarea datelor în linia de comandă

csvgrep: filtrarea datelor după valoarea rândului

Găsiți în Spotify_Popularity.csv unde track_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
Procesarea datelor în linia de comandă

Să exersăm filtrarea datelor cu csvkit!

Procesarea datelor în linia de comandă

Preparing Video For Download...