GroovyCSVを使ってみた
はじめに
id:fitsさんが、こちらにてCSVを処理されているのを拝見しまして、GroovyでCSVを処理する場合、そういえばGroovyCSVがあったなぁと思い出したので使ってみたよという記事です。
こんな感じ
サンプルは元記事と同じです。
@Grabが使えるので楽チンですね。
parseCSV.groovy
// see. http://xlson.com/ // https://github.com/xlson/groovycsv @Grab('com.xlson.groovycsv:groovycsv:0.2') import com.xlson.groovycsv.CsvParser def csv = new File('test.csv').text def data = new CsvParser().parse(csv, separator: ',', quoteChar: '"') data.each { println "$it.no : $it.comment" }
test.csv
no,name,comment 1,テスト1,"改行 含み" 2,test2,"カンマ,含み" 3,てすと3,"ダブルクォーテーション""含み"
注意
CSVファイルの1行目にヘッダが必要なようです。ヘッダを付けると、it.name のような形式でアクセスできるようになります。*1
また、it.values[0] のようにすると、名前を指定しなくても値にアクセスできます。ただしこの場合でもやっぱりヘッダは必要みたいなので注意して下さい。
詳しくはドキュメントをご覧下さい。
元記事
Ruby, Groovy, Scala での Excel準拠 CSV ファイルのパース処理 - opencsv使用、Iterator.continually() 等 - なんとなくな Developer のメモ
*1:ちなみに、ヘッダが無いと、1行目のデータが取得できなくなってしまいました^^;