標準添付のcsvライブラリの使い方をいつも忘れるのでメモっておく。 require "csv" require "yaml" hash = {} csv = CSV.read(path_to_csv, headers: :first_row) csv.each do |row| id = row["id"] hash["foo_#{id}"] = { "id" => id, "name" => row["name"], "value" => row["value"] } end File.open(path_to_yaml, "w") { |f| f.write(hash.to_yaml) } :headersオプション便利。