思い立ってから3分以内にCSVファイルに対してgroup byをかける
CSVファイルに対してgroup byをかけたい、と思う瞬間が技術者だったら必ずあるはずです。
手元には、CSVファイルと、Officeが入ったWindowsマシン。Excelでどうにかできたはずだ...と思うものの、なんとなくやってみてもうまくできない。ただ、group byかけたいだけなんだよ。
そんなあなたに。
前提:
Javaの開発者であれば、まぁ、特に問題ない前提かと。
H2を落としてくる
Downloads
Windows Installerとかあるが不要(exeだし無駄にファイルが大きい)。Jar Fileの項のMaven.orgかSourceforge.netから落とす。これなら1.2Mくらい。
起動
java -jar h2-1.2.128.jar
ブラウザが開く。
ログイン
JDBCURLに以下の文字列を設定して、[接続]をクリック
jdbc:h2:mem: (最後のコロン重要)
sql実行
右側のテキストエリアに下記のSQLを貼り付けてCTRL+ENTER
select 項目名,count(*) from csvread('対象のCSVファイルをフルパスで') group by 項目名
csvファイル同士で、joinさせる事もできる。
select 項目名,count(*) from csvread('対象のCSVファイルをフルパスで') as A join csvread('対象のCSVファイルをフルパスで') as B on A.項目 = B.項目
終了時には、javaを実行しているプロンプトでCTRL+Cとか。それだけで後腐れなくすっきり。
なんとなく覚えていれば、現場で受け取ったCSVが何かおかしい気がする(ありがち)とかいう時に、助けになるときがあるでないかと思う次第。便利。おすすめです。