Проблема:
У меня есть следующий хэш:
хэш = {1 => {: цена => "400",: brand => "Primark"}, 2 => {: price => "1000",: brand => "pull & bear"}, 3 => {: price => "1700",: brand => ""}, 4 => {: price => "500",: brand => "H & M"}, 5 => {: price => "500",: brand => "Mango"}}
и я хочу преобразовать его в CSV-файл.
Подход пока:
Мое ближайшее решение (вдохновлено) кажется, постоянно перезаписывается:
require 'csv'
(1..5).each do |id|
column_names = hash[id].keys
column_values = hash[id].values
s=CSV.generate do |csv|
csv << column_names
csv << column_values
end
File.write('the_file.csv', s)
end
Текущий CSV-файл:
+---+------------+-------------+
| | A | B |
+---+------------+-------------+
| 1 | price,brand| |
| 2 | 500, Mango | |
+---+------------+-------------+
Требуемый вывод CSV:
+---+------------+-------------+
| | A | B |
+---+------------+-------------+
| 1 | price | brand |
| 2 | 400 | Primark |
| 3 | 1000 | pull&bear |
| 4 | 1700 | |
| 5 | 500 | H&M |
| 6 | 500 | mango |
+---+------------+-------------+
Есть несколько вопросов наздесь, которые либо имеют дело с обратным (преобразование CSV во вложенный хэш), либо конвертируют только простые хеши в файлы CSV, но не с вложенными хэшами.Я довольно новичок в Ruby и пока не могу соединить точки здесь.Помощь будет принята с благодарностью!