Arrays Ruby 2d数组到csv?

Arrays Ruby 2d数组到csv?,arrays,ruby,csv,Arrays,Ruby,Csv,有一个数组,如何正确推断csv中的一个文件 arr1 = [["A","B"], ["C","D"], ["E","F"], ["G","H"]] csv中的预期结果: A,B C,D E,F G,H 我这样做: out_file = File.open('file.csv', 'w') arr1.each_index do |inx| arr1[inx].each do |val| out_file.puts val end end 但是,在一列中打印所有内容: A B

有一个数组,如何正确推断csv中的一个文件

arr1 = [["A","B"], ["C","D"], ["E","F"], ["G","H"]]
csv中的预期结果:

A,B
C,D
E,F
G,H
我这样做:

out_file = File.open('file.csv', 'w')
arr1.each_index do |inx|
  arr1[inx].each do |val|
    out_file.puts val
  end
end
但是,在一列中打印所有内容:

A
B
C
D
..
如果通过p val输出到控制台,则每个值中的值为/r:

"A\r"
"B\r"
"C\r"
"D\r"
我做错了什么

编辑: 您没有写入文件

require 'csv'
CSV.open('file.csv', 'w') do |csv|
  arr1.each { |ar| csv << ar }
end
您没有写入文件

require 'csv'
CSV.open('file.csv', 'w') do |csv|
  arr1.each { |ar| csv << ar }
end
它起作用了

require 'csv'
CSV.open('file.csv', 'w') do |csv|
  arr1.each { |ar| csv << ar }
end
删除换行符的步骤\r\n

它的工作原理是:

File.write('file.csv', [["A","B"], ["C","D"], ["E","F"], ["G","H"]].map { |e| e.join(",") }.join($/))
它起作用了

require 'csv'
CSV.open('file.csv', 'w') do |csv|
  arr1.each { |ar| csv << ar }
end
删除换行符的步骤\r\n

它的工作原理是:

File.write('file.csv', [["A","B"], ["C","D"], ["E","F"], ["G","H"]].map { |e| e.join(",") }.join($/))

File.write'File.csv',[[A,B],[C,D],[E,F],[G,H]].map{E | E.join,}.join$/.@Andrey Deineko,一次输出所有值cell@DenisDerevyankin我不认为一个单元格中的所有输出值都与您提供的预期结果一致。@mudasobwa在一列中再次出现,但现在,在front中,我不遵循。我提供的代码生成的正是您所要求的。File.write'File.csv',[[A,B],[C,D],[E,F],[G,H]].map{E | E.join,}.join$/。@Andrey Deineko,一次输出所有值cell@DenisDerevyankin我不认为一个单元格中的所有输出值都与您提供的预期结果一致。@mudasobwa再次出现在一列中,但现在是,在前面,我不明白。我提供的代码完全符合您的要求。@DenisDerevyankin我编辑了答案,不再有映射方法。这不起作用。CSVWork,但chomp的每个值都可以使用一列A、B、C、D?@DenisDerevyankin我不明白你的评论是什么意思。@DenisDerevyankin我编辑了答案,不再有映射方法这不起作用。CSVWork,但chomp的每个值都可以使用一列A、B、C、D?@DenisDerevyankin我不明白你的评论是什么意思。