Ruby | CSV.generate选项"quote_char"不起作用

Yum*_*ura 2 ruby

通过这段代码.

require 'csv'
CSV.generate('', quote_char: '"') { |csv| csv << ['A','B','C'] }
Run Code Online (Sandbox Code Playgroud)

它返回这个.

A,B,C
Run Code Online (Sandbox Code Playgroud)

但我期待这个结果.

"A","B","C"
Run Code Online (Sandbox Code Playgroud)

环境

  • Ruby 2.3.1

use*_*001 5

使用force_quotes选项:

puts CSV.generate(quote_char: '"', force_quotes: true) { |csv| csv << ['A','B','C'] }
"A","B","C"
Run Code Online (Sandbox Code Playgroud)

资料来源:https://stackoverflow.com/a/5832131


use*_*428 5

首先,您的规范quote_char是多余的,因为这是默认值.

quote_char没有说,报价必须使用,但表示它引述如果有什么需要,不得转载使用.在您的示例中,不需要引号,因此您看不到引号字符的任何影响.

如果你想总是有引号,你应该设置force_quotes: true.

例如,请参见此处.