https://codehex.dev/note/oneline_sqlite/
https://www.sqlite.org/cli.html
SQLiteのsqlite3.exeコマンドを利用することで、CSVに対して簡単に外部結合してマスタの名前を付与したり、集計を行ったりすることができる。
sqlite3.exe :memory: -cmd ".mode csv" -cmd ".import taxi.csv taxi" -cmd ".import mst.csv mst" "SELECT m.Name, t.* FROM taxi t LEFT JOIN mst m ON m.ID = t.VendorID"
「:memory:」によって、DBをファイル保存せずメモリ内で処理を行う。
「-cmd」によって、SQL実行より前にCSVをテーブルとして取り込むコマンドを実行する。
最後に指定したSQLでテーブル結合なり集計なりを行う。
……という仕掛け。
参照URLでは200MBのCSVファイルを集計するという大規模処理を行っているが、それでも10秒程度で処理が終わった。