我的系统中有一个 .csv 文件,我想将其导入openproject 并将文件的内容映射到openproject 数据库。
问问题
121 次
1 回答
0
过去,当我必须将 CSV 文件加载到数据库中时,我喜欢执行 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
我希望这个对你有用 :)
于 2017-02-17T14:45:05.300 回答