LoginSignup
2
1

More than 1 year has passed since last update.

CSV.parse で空のフィールドを必ず空文字に変換する

Last updated at Posted at 2021-10-27

バージョン情報

RUBY_VERSION #=> "3.0.1"
CSV::VERSION #=> "3.1.9"

内容

CSV.parse で CSV 文字列をパースした場合、空のフィールドは場合によって nil を返したり空文字を返したりする。

require 'csv'

CSV.parse(%(🐱,,🐶\n,"🐰",""))
#=> [["🐱", nil, "🐶"], [nil, "🐰", ""]]

空のフィールドを空文字に統一したい場合は nil_value オプションを使用するとよい。

require 'csv'

CSV.parse(%(🐱,,🐶\n,"🐰",""), nil_value: '')
#=> [["🐱", "", "🐶"], ["", "🐰", ""]]

# もちろん nil_value オプションに空文字以外の値を指定することもできる。
CSV.parse(%(🐱,,🐶\n,"🐰",""), nil_value: '🈳')
#=> [["🐱", "🈳", "🐶"], ["🈳", "🐰", ""]]

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1