2016-09-02 84 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