MAP .CSV文件到OpenProject数据库



i我的系统中有一个.csv文件,我想 import 将文件的内容映射到 openProject database

过去,当我必须将csv文件加载到db中时,我喜欢todo rake任务。

我的任务看起来像:

#/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

我希望这有帮助:)

最新更新