Вы не четко указали, как должна выглядеть эта таблица, поэтому я не могу быть конкретным, но вы можете использовать библиотеку YAML , чтобы прочитать файл в структуру данных, а затем преобразовать данные структурируйте в одну таблицу (массив массивов строк), а затем используйте библиотеку CSV для вывода ее в файл.
require 'yaml'
require 'csv'
yaml_txt = File.read 'input.yaml'
yaml_data = YAML.load yaml_txt
csv_table = [
[1,'hello world', true],
['a', 'b', 3.14159, 'c', 2, 3e8],
[nil, 'another row', 'bla']
]
#replace this^ with something that converts the yaml_data into a 2D array
File.open 'output.csv', 'w' do |f|
f.puts( csv_table.map do |row|
CSV.generate_line row
end.join "\n" )
end
Текущий пример выдаст:
1,hello world,true
a,b,3.14159,c,2,300000000.0
,another row,bla
в файле output.csv.
Затем можно открыть электронную таблицу CSV со следующими параметрами: