csvkit으로 데이터 필터링

셸에서의 데이터 처리

Susan Sun

Data Person

데이터 필터링이란?

원본 데이터 파일에서 부분집합을 만드는 방법:

  1. 열로 데이터 필터링
  2. 행으로 데이터 필터링

csvcut: 열 이름 또는 열 위치로 필터링

csvgrep: 정확 일치, 패턴, 정규식으로 행 값 필터링

셸에서의 데이터 처리

csvcut: 열로 데이터 필터링

csvcut: 열 이름 또는 열 위치로 CSV를 필터링/자르기

문서:

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]
셸에서의 데이터 처리

csvcut: 열로 데이터 필터링

--names 또는 -n 옵션으로 Spotify_MusicAttributes.csv의 모든 열 이름을 출력합니다.

csvcut -n Spotify_MusicAttributes.csv
  1: track_id
  2: danceability
  3: duration_ms
셸에서의 데이터 처리

csvcut: 열로 데이터 필터링

  1: track_id
  2: danceability
  3: duration_ms

열의 위치로 첫 번째 열만 반환합니다:

csvcut -c 1 Spotify_MusicAttributes.csv
track_id
118GQ70Sp6pMqn6w1oKuki
6S7cr72a7a8RVAXzDCRj6m
셸에서의 데이터 처리

csvcut: 열로 데이터 필터링

  1: track_id
  2: danceability
  3: duration_ms

열의 이름으로 첫 번째 열만 반환합니다:

csvcut -c "track_id" Spotify_MusicAttributes.csv
track_id
118GQ70Sp6pMqn6w1oKuki
6S7cr72a7a8RVAXzDCRj6m
셸에서의 데이터 처리

csvcut: 열로 데이터 필터링

  1: track_id
  2: danceability
  3: duration_ms

열의 위치로 두 번째와 세 번째 열을 반환합니다:

csvcut -c 2,3 Spotify_MusicAttributes.csv
danceability,duration_ms
0.787,124016.0
0.777,128016.0
0.795999999999999,132742.0
셸에서의 데이터 처리

csvcut: 열로 데이터 필터링

  1: track_id
  2: danceability
  3: duration_ms

열의 이름으로 두 번째와 세 번째 열을 반환합니다:

csvcut -c "danceability","duration_ms" Spotify_MusicAttributes.csv
danceability,duration_ms
0.787,124016.0
0.777,128016.0
0.795999999999999,132742.0
셸에서의 데이터 처리

csvgrep: 행 값으로 데이터 필터링

csvgrep:

  • 정확 일치 또는 정규식 유사 매칭으로 행을 필터링합니다
  • 다음 옵션 중 하나와 함께 사용해야 합니다:

-m: 필터링할 정확한 행 값 지정

-r: 정규식 패턴 지정

-f: 파일 경로 지정

문서:

csvgrep -h
셸에서의 데이터 처리

csvgrep: 행 값으로 데이터 필터링

Spotify_Popularity.csv에서 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
셸에서의 데이터 처리

csvkit으로 데이터 필터링을 해봅시다!

셸에서의 데이터 처리

Preparing Video For Download...