2016-09-02 40 views
1

我有哈希:保存哈希以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

除了输出问题:是'用户'真的是一个单一的哈希?名称('用户',复数)和你的用例表明它应该是一个数组(散列)。 – Stefan

+0

UPD:是的,谢谢 我忘了指出,很多用户 – EKOSM

+0

你介意更新你的问题吗? – Stefan

回答

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

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

0

的这应该做的伎俩:

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

你想通过键提取的哈希值,并将其传递到CSV对象一个数组,values_at返回。

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

+0

是的,谢谢 我忘了指出很多用户 – EKOSM