CSVで文字列だけダブルクォートで囲みたい場合
数値は囲わず、文字列はダブルクォートで囲みたい。
force_quotes: true
だと数値もクォートされる。
結論
quote_char: ''
をオプションに指定して、渡す文字列の前後をダブルクォートで囲む。
解説
ここでforce_quotes:true
の分岐
https://github.com/ruby/csv/blob/master/lib/csv/writer.rb#L139
ここでforce_quotes:false
だった場合の分岐
https://github.com/ruby/csv/blob/master/lib/csv/writer.rb#L147
“"hoge”"
のような文字列を作っていると@quotable_patternに一致してしまい、
“”“hoge”“”
のような文字になってしまう。
のでquate_fieldで囲まれても問題ないようにから文字を設定してあげる。
https://github.com/ruby/csv/blob/master/lib/csv/writer.rb#L129-L136