Ruby on Rails - импорт данных из файла CSV - PullRequest
191 голосов
/ 10 декабря 2010

Я хотел бы импортировать данные из файла 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

Можете ли вы дать мне код, чтобы показать мне лучший способ сделать это, спасибо.

Ответы [ 11 ]

0 голосов
/ 23 апреля 2014

Если вы хотите использовать SmartCSV

all_data = SmarterCSV.process(
             params[:file].tempfile, 
             { 
               :col_sep => "\t", 
               :row_sep => "\n" 
             }
           )

Представляет данные с разделителями табуляции в каждой строке "\t" со строками, разделенными новыми строками "\n"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...