CSV在ruby字符串中生成多个双引号
我使用ruby生成一个CSV文件。我的一个数据是一个字符串,其中包含一个CSV在ruby字符串中生成多个双引号,ruby,csv,Ruby,Csv,我使用ruby生成一个CSV文件。我的一个数据是一个字符串,其中包含一个双引号“,例如=“000123” 这是我的代码: csv = CSV.generate do |csv| csv << ["=\"000123\""] end 我期望的结果是=“000123”。有人知道原因吗?如何解决这个问题?这实际上就是如何转义双引号的: 如果使用双引号括起字段,则使用双引号 出现在字段中时,必须在其前面加上 另一个双引号。例如: "aaa","b""bb","ccc" 由于您的字段
双引号“
,例如=“000123”
这是我的代码:
csv = CSV.generate do |csv|
csv << ["=\"000123\""]
end
我期望的结果是=“000123”
。有人知道原因吗?如何解决这个问题?这实际上就是如何转义双引号的:
"aaa","b""bb","ccc"
quote_char
设置为其他内容:
puts CSV.generate(quote_char: "'") { |csv| csv << ["=\"000123\""] }
# ="000123"
放置CSV.generate(quote_char:“”){| CSV | CSV这就是如何转义双引号:
如果使用双引号括起字段,则使用双引号
出现在字段中时,必须在其前面加上
另一个双引号。例如:
"aaa","b""bb","ccc"
由于您的字段中有双引号,因此需要引用整个列:
每个字段可以用双引号括起来,也可以不用双引号括起来(但是
有些程序,如Microsoft Excel,不使用双引号
如果字段没有用双引号括起来,则
双引号可能不会出现在字段内。
(emphasis mine)如果确实要禁用该功能,只需将quote_char
设置为其他内容:
puts CSV.generate(quote_char: "'") { |csv| csv << ["=\"000123\""] }
# ="000123"
放置CSV.generate(quote_char:“””{CSV | CSV它看起来是错误的,但在20世纪80年代,人们对如何逃避事情有很多不好的想法,我们现在被它卡住了。它实际上并不比双反斜杠“\\t”来显示“\t”差多少“不是标签,只是一个不同的字符看起来是错误的,但在20世纪80年代,人们对如何逃避事物有很多不好的想法,我们现在被困在其中。这并不比双重反斜杠更糟糕,\\t”表示“\t”而不是标签,只是一个不同的字符