2017-02-17 33 views
-1

私のシステムに.csvファイルがあります。をopenprojectにインポートし、ファイルの内容をopenprojectデータベースにインポートします。.csvファイルをopenprojectデータベースにマップする

+0

あなたの質問は何ですか? – Ilya

+0

llya、.csvファイルをopenprojectデータベースにインポートします。要するに、私はインポートプラグインを作成したいです – Ajay

+0

これまでに何を試しましたか? – Ilya

答えて

0

過去に私がDBにCSVファイルをロードする必要があるとき、私はtodo rake taskが好きです。

私のタスクは次のようになります。

#/lib/tasks/import_csv.rake 
require 'csv' 
namespace :imports do 
desc 'import from csv' 
    task :variants => :environment do 
    Dir['lib/csv/files/*'].each do |file| 
     csv_text = File.read(file) 
     csv_text = csv_text.encode("UTF-16be", :invalid=>:replace, :replace=>"?").encode('UTF-8') 
     csv = CSV.parse(csv_text, :headers => true) 
     csv.each_with_index do |row, index| 
     something = Something.find_or_initialize_by(name: row['name']) 
     something.address     = row['address'] 
     something.save 
     end 
     file_processed = file.gsub('/files/', '/files_processed/') 
     File.rename(file, file_processed) unless Rails.env == 'development' 
    end 
    end 
end 

私はこのことができますことを願っています:)

+0

.csvはどこに置かれるべきですか? – Ajay

関連する問題