1. ホーム
  2. ruby-on-rails

[解決済み】Ruby on Rails - CSVファイルからのデータインポート

2022-04-08 17:28:08

質問

CSVファイルから既存のデータベースのテーブルにデータを取り込みたいのですが、どうすればいいですか? CSVファイルを保存せず、データを取り出して既存のテーブルに入れたいのです。 Ruby 1.9.2 と Rails 3 を使用しています。

これが私のテーブルです。

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

これを行うための最良の方法を示すコードを教えてもらえますか、ありがとうございます。

どのように解決するのですか?

require 'csv'    

csv_text = File.read('...')
csv = CSV.parse(csv_text, :headers => true)
csv.each do |row|
  Moulding.create!(row.to_hash)
end