メモリに乗り切らない程度のちょっとした集計をするのに SQLite3 のデータベースを使うのが意外と便利だなーと思っている今日このごろ。 サポートされている SQL の構文や関数が少ないするのはネックだけど、まあ手軽さには変えられないという感じ。 今回は SQLite3 のテーブルに CSV のデータをインポートする方法について書いておく。
使った環境は以下の通り。
$ sw_vers ProductName: Mac OS X ProductVersion: 10.14.3 BuildVersion: 18D109 $ sqlite3 --version 3.24.0 2018-06-04 14:10:15 95fbac39baaab1c3a84fdfc82ccb7f42398b2e92f18a2a57bce1d4a713cbaapl
まずは読み込む CSV ファイルを用意する。
$ cat << 'EOF' > users.csv 1,Alice,20 2,Bob,30 3,Carol,40 EOF
SQLite3 のデータベースファイルを作る。
$ sqlite3 users.db
CSV ファイルにあわせてテーブルの定義を用意する。
sqlite> CREATE TABLE IF NOT EXISTS users ( ...> id INTEGER PRIMARY KEY, ...> name TEXT NOT NULL, ...> age INTEGER NOT NULL ...> );
データの区切り文字をカンマ (,) にしたら .import
命令を使って CSV ファイルをテーブルに読み込む。
sqlite> .separator , sqlite> .import users.csv users
ちゃんと読み込まれているか確認しよう。
sqlite> .headers on sqlite> SELECT * FROM users; id,name,age 1,Alice,20 2,Bob,30 3,Carol,40
ばっちり。

スマートPythonプログラミング: Pythonのより良い書き方を学ぶ
- 作者: もみじあめ
- 発売日: 2016/03/12
- メディア: Kindle版
- この商品を含むブログ (1件) を見る