10 Aralık 2010, Cuma
Ruby on Rails - CSV dosyasından Veri Alma
Varolan bir veritabanı tabloya bir CSV dosyasından veri almak istiyorum. CSV dosyası olarak kaydedin, sadece verileri alıp mevcut tabloya koymak istemiyorum. Ruby 1.9.2 ve Raylar 3 kullanıyorum.
Burası benim masam
create_table "mouldings", :force => true do |t|
t.string "suppliers_code"
t.datetime "created_at"
t.datetime "updated_at"
t.string "name"
t.integer "supplier_id"
t.decimal "length", :precision => 3, :scale => 2
t.decimal "cost", :precision => 4, :scale => 2
t.integer "width"
t.integer "depth"
end
Bana bunu yapmak için en iyi yolu göstermek için bazı kod, şükredin.
CEVAP
2 Mayıs 2012, ÇARŞAMBA
Eşit derecede iyi çalışıyor yfeldblum cevabı, basit sürüm:
require 'csv'
CSV.foreach(filename, :headers => true) do |row|
Moulding.create!(row.to_hash)
end
With_indifferent_access veya symbolize_keys, ve bir dize için dosyayı önce okumak gerek gerek yok.
Bunu Paylaş:
Ruby on Rails: Çalışan bir .rb dosyası...
Ruby on Rails 3: istemci için Raylar ü...
Neden Ruby on Rails profesyoneller İsk...
Sqlite Ruby on Rails uygulaması MySQL ...
Nasıl Ruby on Rails uygulama adını değ...