Lọc dữ liệu bằng csvkit

Xử lý dữ liệu trên Shell

Susan Sun

Data Person

Lọc dữ liệu là gì?

Ta có thể tạo một tập con từ tệp dữ liệu gốc bằng cách:

  1. Lọc theo cột
  2. Lọc theo hàng

csvcut: lọc bằng tên cột hoặc vị trí cột

csvgrep: lọc theo giá trị hàng bằng khớp chính xác, khớp mẫu, hoặc regex

Xử lý dữ liệu trên Shell

csvcut: lọc theo cột

csvcut: lọc và cắt ngắn tệp CSV theo tên cột hoặc vị trí cột

Tài liệu:

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]
Xử lý dữ liệu trên Shell

csvcut: lọc theo cột

Dùng tùy chọn --names hoặc -n để in toàn bộ tên cột trong Spotify_MusicAttributes.csv.

csvcut -n Spotify_MusicAttributes.csv
  1: track_id
  2: danceability
  3: duration_ms
Xử lý dữ liệu trên Shell

csvcut: lọc theo cột

  1: track_id
  2: danceability
  3: duration_ms

Trả về cột đầu tiên theo vị trí:

csvcut -c 1 Spotify_MusicAttributes.csv
track_id
118GQ70Sp6pMqn6w1oKuki
6S7cr72a7a8RVAXzDCRj6m
Xử lý dữ liệu trên Shell

csvcut: lọc theo cột

  1: track_id
  2: danceability
  3: duration_ms

Chỉ trả về cột đầu tiên theo tên:

csvcut -c "track_id" Spotify_MusicAttributes.csv
track_id
118GQ70Sp6pMqn6w1oKuki
6S7cr72a7a8RVAXzDCRj6m
Xử lý dữ liệu trên Shell

csvcut: lọc theo cột

  1: track_id
  2: danceability
  3: duration_ms

Trả về cột thứ hai và ba theo vị trí:

csvcut -c 2,3 Spotify_MusicAttributes.csv
danceability,duration_ms
0.787,124016.0
0.777,128016.0
0.795999999999999,132742.0
Xử lý dữ liệu trên Shell

csvcut: lọc theo cột

  1: track_id
  2: danceability
  3: duration_ms

Trả về cột thứ hai và ba theo tên:

csvcut -c "danceability","duration_ms" Spotify_MusicAttributes.csv
danceability,duration_ms
0.787,124016.0
0.777,128016.0
0.795999999999999,132742.0
Xử lý dữ liệu trên Shell

csvgrep: lọc theo giá trị hàng

csvgrep:

  • lọc theo hàng bằng khớp chính xác hoặc regex mờ
  • phải dùng kèm một trong các tùy chọn sau:

-m: theo sau bởi giá trị hàng cần lọc

-r: theo sau bởi mẫu regex

-f: theo sau bởi đường dẫn tệp

Tài liệu:

csvgrep -h
Xử lý dữ liệu trên Shell

csvgrep: lọc theo giá trị hàng

Tìm trong Spotify_Popularity.csv nơi 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
Xử lý dữ liệu trên Shell

Lọc dữ liệu với csvkit!

Xử lý dữ liệu trên Shell

Preparing Video For Download...