Ruby — Чтение двумерного массива в CSV?

Всем привет, есть двумерный массив ввида:
#⇒ [
#  [0] [
#    [0] "11",
#    [1] "Название1",
#    [2] "Название2",
#    [3] "Название3",
#    [4] "Название4",
#    [5] "Название5"
#  ],
#  [1] [
#    [0] "22",
#    [1] "Название1",
#    [2] "Название2",
#    [3] "Название3",
#    [4] "Название4",
#    [5] "Название5"
#  ]
# ]

Как этот 2D массив прочитать в csv файл?
Делаю так, но выводит в один столбец, а надо вот так:

Name1,Name2,Name3,Name4,Name5
Название1, название2, Название3,Название4,Название5

out_file = File.open('csv_file.csv', 'w')
out_file.puts "Name1,Name2,Name3,Name4,Name5"
input.each_index do |inx|
  p "{#{inx}} =>"
  inx.each do |val|
    out_file.puts val.chomp
  end
end

Плюс еще в конце ставит \r - я так понимаю добавлять chomp
Также не получается добавить join(',')
Надо в строку перезаписать? to_a?
  • Вопрос задан
  • 195 просмотров
Решения вопроса 1
@qskyhigh Автор вопроса
Решение:
File.write('csv_file.csv', input.map { |e| e.join(",") }.join($/))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы