写入csv正在添加引号

时间:2016-10-21 01:08:12

标签: ruby

我有字符串值,我以数组的形式写入csv文件 -

output = "This is a, ruby output"
CSV.open("output/abc.csv", "a+") do |csv|
  csv << [output]
end

当我检查文件abc.csv时,添加的行在字段的开头和结尾都有引号(&#34;)。我怎么能摆脱它?

文件输出为---

"This is a, ruby output"

到目前为止,我在保存到csv之前尝试了trslice,但似乎写作正在导致它。

1 个答案:

答案 0 :(得分:3)

如果您删除了引号,那么您的输出不再是CSV。可以指示CSV类使用不同的分隔符,并且仅在输入中包含该分隔符时才引用。例如:

require 'csv'
output = "This is a, ruby output"
File.open("output/abc.csv", "a+") do |io|
  csv = CSV.new(io, col_sep: '^')
  csv << [output, "the end"]
end

输出:

This is a, ruby output^the end