我有字符串值,我以数组的形式写入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之前尝试了tr
或slice
,但似乎写作正在导致它。
答案 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