Filtrování dat pomocí csvkit

Data Processing in Shell

Susan Sun

Data Person

Co znamená filtrování dat?

Podmnožinu původního datového souboru lze vytvořit:

  1. Filtrováním dat podle sloupce
  2. Filtrováním dat podle řádku

csvcut: filtruje data podle názvu nebo pozice sloupce

csvgrep: filtruje data podle hodnoty řádku pomocí přesné shody, porovnávání vzorů nebo regulárního výrazu

Data Processing in Shell

csvcut: filtrování dat podle sloupce

csvcut: filtruje a ořezává CSV soubory podle názvu sloupce nebo pozice sloupce

Dokumentace:

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]
Data Processing in Shell

csvcut: filtrování dat podle sloupce

Použijte možnost --names nebo -n pro výpis všech názvů sloupců v Spotify_MusicAttributes.csv.

csvcut -n Spotify_MusicAttributes.csv
  1: track_id
  2: danceability
  3: duration_ms
Data Processing in Shell

csvcut: filtrování dat podle sloupce

  1: track_id
  2: danceability
  3: duration_ms

Vrátí první sloupec dat podle pozice:

csvcut -c 1 Spotify_MusicAttributes.csv
track_id
118GQ70Sp6pMqn6w1oKuki
6S7cr72a7a8RVAXzDCRj6m
Data Processing in Shell

csvcut: filtrování dat podle sloupce

  1: track_id
  2: danceability
  3: duration_ms

Vrátí pouze první sloupec dat podle názvu:

csvcut -c "track_id" Spotify_MusicAttributes.csv
track_id
118GQ70Sp6pMqn6w1oKuki
6S7cr72a7a8RVAXzDCRj6m
Data Processing in Shell

csvcut: filtrování dat podle sloupce

  1: track_id
  2: danceability
  3: duration_ms

Vrátí druhý a třetí sloupec dat podle pozice:

csvcut -c 2,3 Spotify_MusicAttributes.csv
danceability,duration_ms
0.787,124016.0
0.777,128016.0
0.795999999999999,132742.0
Data Processing in Shell

csvcut: filtrování dat podle sloupce

  1: track_id
  2: danceability
  3: duration_ms

Vrátí druhý a třetí sloupec dat podle názvu:

csvcut -c "danceability","duration_ms" Spotify_MusicAttributes.csv
danceability,duration_ms
0.787,124016.0
0.777,128016.0
0.795999999999999,132742.0
Data Processing in Shell

csvgrep: filtrování dat podle hodnoty řádku

csvgrep:

  • filtruje podle řádku pomocí přesné shody nebo regulárního výrazu
  • musí být kombinován s jednou z těchto možností:

-m: následuje přesná hodnota řádku pro filtrování

-r: následuje vzor regulárního výrazu

-f: následuje cesta k souboru

Dokumentace:

csvgrep -h
Data Processing in Shell

csvgrep: filtrování dat podle hodnoty řádku

Najít v Spotify_Popularity.csv záznamy, kde 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
Data Processing in Shell

Pojďme filtrovat data pomocí csvkit!

Data Processing in Shell

Preparing Video For Download...