У меня есть следующий массив, и я пытаюсь отформатировать его для своих нужд.
consolidated = [
{:name=>"Bob", :details=>{"work"=>"Carpenter", "age"=>"26", "Experience"=>"6"} },
{:name=>"Colin", :details=>{"work"=>"painting", "age"=>"20", "Experience"=>"4"} }
]
Я пытаюсь отформатировать его как показано ниже:
Bob work Carpenter
age 26
Experience 6
Colin work painting
age 20
Experience 4
Я попробовал следующее:
require 'csv'
CSV.open("output.csv", "wb") do |csv|
csv << ["name", "nature", "details"]
consolidated.each do |val|
csv << [val[:name], val[:details]]
end
end
#=> [{:name=>"Bob", :details=>{"work"=>"Carpenter", "age"=>"26", "Experience"=>"6"}},
# {:name=>"Colin", :details=>{"work"=>"painting", "age"=>"20", "Experience"=>"4"}}]
но печатает следующее
name nature details
Bob "work"=>"Carpenter", "age"=>"26", "Experience"=>"6"
Colin "work"=>"painting", "age"=>"20", "Experience"=>"4"
Я не совсем уверен, как перебрать хэш из 1-го цикла только для получения ожидаемого формата.
Спасибо.