コマンドで分析する理由
データを処理するときに、やろうと思えばfinderから確認したり、エクセルで開いたりすることはできます。ですが、非常にファイルが大きくなり数GB程度にもなると、GUIで確認するのは非常に困難です。
実際に自分も1GB程度のデータが書き込まれたcsvファイルをエクセルで開こうとしましたが、エクセルがカクカクしてろくに作業することもできませんでした。
そう言った意味でも、CUIからデータを閲覧、操作できるようにしておきましょう。
ファイル閲覧
- cat:ファイルを閲覧する。ファイルの中身全てがコマンドに表示されるので、大きなデータだと非常に読みにくくなります。
- head:ファイル先頭10行表示する。
- tail:データをファイル末尾10行表示する。
- less:ファイルの中身を1画面後のに表示するコマンド。
文字コードの確認, 変更
①現在の文字コードを調べる
env | grep LANG
で、現在の環境を読み込み、その中からgrepコマンドで文字コード設定のもののみを抽出します。
②nkfコマンドを使う
ここで、別ファイルに書き出す理由は、データ加工を間違えたときに元データからやり直せるようにするためです。
データの加工
①データを取得する
curl -s http://hoge > hoge.json
と打って、APIからデータをダウンロードしてきます。
②ファイルを確認する
jsonファイルを取得したとします。jqコマンド(別途ダウンロードが必要です)を使うと、jsonファイルが見やすくなります。
# 例)hoge.jsonファイルを、色付きで行番号もつけて閲覧 $ json . hoge.json -C | less -NR
③データの加工
- sed:文字列の置換や行の削除を簡単に行えるもの。
# 例)1行目から26行目まで削除する。 $ sed -e '1, 26d' hoge.csv > hoge_deleted.csv
# 特定の条件を満たした対象に対して処理ができる。 $ awk -F 区切り文字 '条件 {実行文}' ファイル名'
参考
こちらの本を参考にしました。
データサイエンティスト養成読本 登竜門編 (Software Design plus)
- 作者: 高橋淳一,野村嗣,西村隆宏,水上ひろき,林田賢二,森清貴,越水直人,露崎博之,早川敦士,牧允皓,黒柳敬一
- 出版社/メーカー: 技術評論社
- 発売日: 2017/03/25
- メディア: 大型本
- この商品を含むブログ (1件) を見る