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/work
wget 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に標準インストールされているため導入しやすい。