シェルでのデータ処理
Susan Sun
Data Person
元データからサブセットを作る方法:
csvcut: 列名または位置でデータを抽出
csvgrep: 行の値で抽出(完全一致・パターン・正規表現)
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]
--names または -n オプションで Spotify_MusicAttributes.csv の全列名を表示
csvcut -n Spotify_MusicAttributes.csv
1: track_id
2: danceability
3: duration_ms
1: track_id
2: danceability
3: duration_ms
列の位置で1列目のみを抽出:
csvcut -c 1 Spotify_MusicAttributes.csv
track_id
118GQ70Sp6pMqn6w1oKuki
6S7cr72a7a8RVAXzDCRj6m
1: track_id
2: danceability
3: duration_ms
列の名前で1列目のみを抽出:
csvcut -c "track_id" Spotify_MusicAttributes.csv
track_id
118GQ70Sp6pMqn6w1oKuki
6S7cr72a7a8RVAXzDCRj6m
1: track_id
2: danceability
3: duration_ms
列の位置で2列目と3列目を抽出:
csvcut -c 2,3 Spotify_MusicAttributes.csv
danceability,duration_ms
0.787,124016.0
0.777,128016.0
0.795999999999999,132742.0
1: track_id
2: danceability
3: duration_ms
列の名前で2列目と3列目を抽出:
csvcut -c "danceability","duration_ms" Spotify_MusicAttributes.csv
danceability,duration_ms
0.787,124016.0
0.777,128016.0
0.795999999999999,132742.0
csvgrep:
-m: 抽出する行の値(完全一致)
-r: 正規表現パターン
-f: 値を含むファイルへのパス
ドキュメント:
csvgrep -h
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
シェルでのデータ処理