シェルでのデータ処理
Susan Sun
Data Person
csvkit:
Pythonのパッケージマネージャ pip で csvkit をインストール:
pip install csvkit
csvkit を最新にアップグレード:
pip install --upgrade csvkit
詳細手順:
【Webドキュメント】
https://csvkit.readthedocs.io/en/latest/scripts/in2csv.html
【コマンドラインのヘルプ】
in2csv --helpin2csv -h
usage: in2csv [-h] [-d DELIMITER] [-t] [-q QUOTECHAR] [-u {0,1,2,3}] [-b]
[-p ESCAPECHAR] [-z FIELD_SIZE_LIMIT] [-e ENCODING] [-L LOCALE]
[-S] [--blanks] [--date-format DATE_FORMAT]
[--datetime-format DATETIME_FORMAT] [-H] [-K SKIP_LINES] [-v]
【構文】
in2csv SpotifyData.xlsx > SpotifyData.csv
Excelの最初のシートをコンソールに出力し、保存はしません
in2csv SpotifyData.xlsx
> は出力をリダイレクトし、新規ファイル SpotifyData.csv として保存します
> SpotifyData.csv
--names または -n オプションで SpotifyData.xlsx 内の全シート名を表示します。
in2csv -n SpotifyData.xlsx
Worksheet1_Popularity
Worksheet2_MusicAttributes
変換するシートに --sheet で "Worksheet1_Popularity" を指定します。
in2csv SpotifyData.xlsx --sheet "Worksheet1_Popularity" > Spotify_Popularity.csv
in2csv はコンソールにログを出力しません。
in2csv SpotifyData.xlsx --sheet "Worksheet1_Popularity" > Spotify_Popularity.csv
動作確認:
ls
SpotifyData.xlsx Spotify_Popularity.csv backup bin
csvlook: CSVをMarkdown互換の固定幅形式でコマンドライン表示
【ドキュメント】
csvlook -h
usage: csvlook [-h] [-d DELIMITER] [-t] [-q QUOTECHAR] [-u {0,1,2,3}] [-b]
[-p ESCAPECHAR] [-z FIELD_SIZE_LIMIT] [-e ENCODING] [-L LOCALE]
[-S] [--blanks] [--date-format DATE_FORMAT]
【構文】
csvlook Spotify_Popularity.csv
| track_id | popularity |
| ---------------------- | ---------- |
| 118GQ70Sp6pMqn6w1oKuki | 7 |
| 6S7cr72a7a8RVAXzDCRj6m | 7 |
| 7h2qWpMJzIVtiP30E8VDW4 | 7 |
| 3KVQFxJ5CWOcbxdpPYdi4o | 7 |
| 0JjNrI1xmsTfhaiU1R6OVc | 7 |
| 3HjTcZt29JUHg5m60QhlMw | 7 |
csvstat: CSVの各列に対する記述統計を出力(例: 平均・中央値・一意数など)
【ドキュメント】
csvstat -h
usage: csvstat [-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] [--csv] [-n]
【構文】
csvstat Spotify_Popularity.csv
1. "track_id"
Type of data: Text
Contains null values: False
Unique values: 24
Longest value: 22 characters
Most common values: 118GQ70Sp6pMqn6w1oKuki (1x)
6S7cr72a7a8RVAXzDCRj6m (1x)
シェルでのデータ処理