Ruby 二维数组到 csv?

qsk*_*igh 2 ruby csv arrays

有一个数组,如何正确地在 csv 中推导出一个文件?

arr1 = [["A","B"], ["C","D"], ["E","F"], ["G","H"]]
Run Code Online (Sandbox Code Playgroud)

csv 中的预期结果:

A,B
C,D
E,F
G,H
Run Code Online (Sandbox Code Playgroud)

我这样做:

out_file = File.open('file.csv', 'w')
arr1.each_index do |inx|
  arr1[inx].each do |val|
    out_file.puts val
  end
end
Run Code Online (Sandbox Code Playgroud)

但是,在一列中打印所有内容:

A
B
C
D
..
Run Code Online (Sandbox Code Playgroud)

如果通过 输出到控制台p val,则在每个值中为 /r:

"A\r"
"B\r"
"C\r"
"D\r"
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

编辑: 结果 csv Excel 结果 csv Vim

And*_*eko 5

没有写入文件。

require 'csv'
CSV.open('file.csv', 'w') do |csv|
  arr1.each { |ar| csv << ar }
end
Run Code Online (Sandbox Code Playgroud)