用一行指令透過 SQLite 查詢 CSV 裡面的資料

在 shell 裡面要處理 CSV 有時比較麻煩。但如果有安裝 SQLite 的話可以用 SQL 快速的對資料做處理。

假設 trades.csv 的內容如下

user_id,revenue
1,130
1,240
2,350
2,460
3,590

用這段指令

sqlite3 :memory: -cmd '.import -csv trades.csv trades' \
    'SELECT user_id, COUNT(*), SUM(revenue) FROM trades GROUP BY user_id'

可以得到這樣的結果

1|2|370
2|2|810
3|1|590