我正在尝试将数组写入CSV文件。在过去,我刚刚使用过:
my_array.to_csv
和报价被诅咒。但我必须遵守这个特定的文件,我写了CSV"标准"。这意味着,在这里:
a,b,c,"d, with a comma",e
之前很满意,现在我必须输出:
"a","b","d, with a comma","e"
必须有一些简单的方法,但我无法找到它。
我试过了:
x.map{|v| '"' + v + '"'}.to_csv
但文件最终以:
"""a""","""b""","""c"""
我尝试了很多变化。我总是最终得到3个引号字符。
唯一有效的是:
fout.puts x.map{|v| "\"#{v}\"" }.to_csv.gsub('"""','"')
当然这很可怕。任何帮助表示赞赏!
答案 0 :(得分:5)
答案 1 :(得分:-1)
更好的方式跟随
最初假设是一个数组
a ="'" + a.join("','") + "'"