Ruby の CSV ライブラリはとても便利なんだけど、ひとつだけ問題があって、CSV をパースしたときに nil を返すことがある。 つぎのような CSV をパースすると2番目のカラムが nil になる。4番目のカラムは空文字になるのに! hoge,,fuga,"",piyo require 'csv' CSV.parse_line('hoge,,fuga,"",piyo') #=> ["hoge", nil, "fuga", "", "piyo"] なので CSV のパース結果は全部文字列だと思って使ってるとエラーになってびっくりする。 CSV.parse_line('hoge,,fuga').map(&:upcase) #=> undefined method 'upcase' for nil (NoMethodError) CSV を生成するときも nil と空文字で変わる: pu