Ruby CSV - 尝试用双引号包装输出,得到""Hello World"""而不是"Hello World"

Dan*_*Dan 2 ruby csv

require 'csv'
s = "\"Hello World\""

CSV.open('output.txt', 'w') do |csv|
    csv << [s]
end
Run Code Online (Sandbox Code Playgroud)

在我的文件中,我得到:

"""Hello World"""
Run Code Online (Sandbox Code Playgroud)

什么是额外的报价,这是正确的方法是什么?我不希望所有字段都用引号括起来,只是一些.使用ruby 1.9.3p194

Tim*_*ker 5

这是对的.通过加倍,引用字符在CSV文件中转义.包含逗号,换行符和/或引号字符的所有字段都需要用引号括起来.

所以第一个引号开始引用字段,第二个和第三个引号编码实际引用字符.

Excel截图

Hello,"Field, with comma","2"" by 4""",123
Run Code Online (Sandbox Code Playgroud)