TSVが最も扱いやすいので。
既存ツール
| ツール | 動作環境 |
|---|---|
| trdsql | go |
| textql | go |
| q | python |
情報源
- trdsql
- textql: http://everything-you-do-is-practice.blogspot.com/2017/10/csv-tsv-sql-textql.html
- q
- https://serima.co/blog/?p=429
- http://harelba.github.io/q/install.html
- download
- https://github.com/harelba/packages-for-q/raw/master/deb/q-text-as-data_1.7.1-2_all.deb?source=install_page&table=1
cd /tmp/workwget https://raw.githubusercontent.com/harelba/packages-for-q/master/deb/q-text-as-data_1.7.1-2_all.deb
- install
sudo dpkg -i <package-filename>sudo dpkg -i /tmp/work/q-text-as-data_1.7.1-2_all.deb
- download
- sqlite3
- 他
どれを使うか
trdsqlが機能的に最高。だがgo言語による実装である。go環境構築が必要。面倒すぎ。textqlも同様。
sqlite3のTSVインポート機能を使えばいいと思ったが罠が多すぎた。
- TSVインポートすると型がすべてTEXTになってしまう(数値はINTEGER型にしたい)
- TSVインポートするコマンドをスクリプト化できない
- 標準入力でSQL文を受け付けてくれない(SQLファイルのみ)
- UNIX哲学に則っていない
qはDB連携機能がないしMarkdown出力機能もないしググラビリティも低いしaptでパッケージ管理できない。だがpython言語による実装である。PythonはRaspbianに標準インストールされているため導入しやすい。