在csv ruby​​中保存哈希

时间:2016-09-02 08:58:54

标签: ruby csv

我有哈希:

users = {
'name' => name,
        'last_name' => last_name,
        'photo' => photo,
        'address' => address,
}

保存在csv:

CSV.open("users.csv", "a") {|csv| users.to_a.each {|elem| csv << elem}}

输出:

 name, Jake
 last_name,Kallen
photo, http://avs.ru/leto_3434.jpg
address, NEW YORK
name, Dan
 last_name,Leans
photo, http://avs.ru/leto_3423.jpg
address, NEW YORK

我需要获取文件:

Jake,Kallen,http://avs.ru/leto_3434.jpg,NEW YORK

如何更改我的代码以获得我需要的内容? 请帮帮我。

UPD:我忘了指出很多用户

2 个答案:

答案 0 :(得分:0)

这应该可以解决问题:

CSV.open("users.csv", "a") do |csv|
  csv << users.values_at('name', 'last_name', 'photo', 'address')
end

您希望按键提取哈希值,并将其作为数组传递给csv对象,values_at返回。

如果您有多个用户,请更新问题中的示例数据。

答案 1 :(得分:0)

CSV.open("users.csv", "a") {|csv|
  csv << users.values
}

我想,你需要这个。如果users哈希将包含其他数据 - csv将把它带到