從 Simon Willison 這邊看到 command line 下用 SQLite 的技巧:「One-liner for running queries against CSV files with SQLite」。
範例指令是這樣 (整理了一下排版):
sqlite3 :memory: \ -cmd '.import -csv taxi.csv taxi' \ 'SELECT passenger_count, COUNT(*), AVG(total_amount) FROM taxi GROUP BY passenger_count'
可以看出來這個方式是將 csv 檔先讀到 in-memory database (:memory:
),再用 SQLite 下指令處理,另外也可以自己變化,應該可以透過 /dev/stdin
這樣的方式讀 pipe 的東西。
拿來簡單跑一些東西應該還不賴?