红宝石 |CSV.生成选项"quote_char"不起作用



通过此代码。

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

它返回此。

A,B,C

,但我希望这个结果。

"A","B","C"

enviroment

  • Ruby 2.3.1

使用force_quotes选项:

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

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

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

quote_char dis 说必须使用引号,但指示如果需要引用某些内容,可以使用哪些引号。在您的示例中,不需要引号,因此您看不到报价字符的任何影响。

如果您想始终有报价,则应设置force_quotes: true

例如,请参见此处。

最新更新