2013-06-26 11 views

Odpowiedz

31

Spróbuj tego:

CSV.open("data.csv", "wb") do |csv| 

    @data.each do |hash| 
    csv << hash.values 
    end 
end 

Jeśli chcesz pierwszy wiersz pliku CSV zawiera klucze hash (rodzaj jak z nagłówka), po prostu wykonaj:

CSV.open("data.csv", "wb") do |csv| 
    csv << @data.first.keys # adds the attributes name on the first line 
    @data.each do |hash| 
    csv << hash.values 
    end 
end 

Proszę przeczytać komentarz @cgenco poniżej: Napisał łatkę małpy dla klasy Array.

+0

to działa jednak chcę również mieć klucze, a to zawiera tylko wartości –

+0

Jak tego chcesz? Widziałeś moją drugą część kodu? Czy możesz podać przykład danych, które masz w swoich tablicach hashe i jak chcesz, żeby były w CSV? @SamanthaKlonaris – MrYoshiji

+0

Możesz także bezpośrednio wypróbować 'csv << @ data.to_csv' wewnątrz bloku open do. – MrYoshiji