はじめに
年度末が近づいてきて、仕事でも CSV データをこねくり回す機会が増えてきました。 (ログデータ集計、デバッグだけでなく、確定申告の金額計算など)
CUI 好きの自分も grep / sed / sort / uniq / join / paste のコマンドを毎回毎回パイプラインでつないでいるのは多少面倒になる。
CSV データを SQL で操作できればいいのに、と思う人も少なくないはずです。 僕も SQL でデータ操作するほうがなれている人間のひとりです。
そんな方におすすめなのが、 q コマンド 。名前のせいで ググラビリティ が低いのが難点だがとっても便利。
今回は主に導入方法について紹介し、次回で使い方に触れたいと思います。
検証環境
| |
インストール方法
Github の以下のページを参照。OS ごとにインストール方法が記載されています。
RedHat 系 OS、Debian 系 OS 向けにそれぞれのインストールパッケージも用意されています。
| |
正しくインストールされたか確認してみます。
| |
使ってみる
テストデータ
テストデータを用意。以下のページの csv データを借用。
先頭の数行を出力。
| |
文字コードが CP932 の csv ファイル?
UTF-8に変換し、少し覗いてみましょう。
| |
上部の行によくわからないものがたくさん入っています。
データ行はcsv形式となっており、 一番左が西暦を示している ようです。 先頭が西暦となっているデータのみを残すように絞り込みます。
同時に「数字」「,」「.」以外は除去しておきます。
| |
普通にデータ閲覧
早速 SQL を使ってデータを操作してみます。
-dオプションに区切り文字を指定。- 今回はカンマ(
,)を指定。
- 今回はカンマ(
from句には csv ファイル名を指定
| |
ひとこと
続きは次のエントリでまとめます。