Ruby on Rails
특정 폴더에서 전체 CSV 파일 가져 오기
수색…
소개
이 예에서는 폴더에 제품 CSV 파일이 여러 개 있다고 가정 해 보겠습니다. 각 CSV 파일은 콘솔에서 데이터베이스를 업로드해야 명령을 작성할 수 있습니다. 새 프로젝트 또는 기존 프로젝트에서 다음 명령을 실행하여이 모델을 작성하십시오.
콘솔 명령에서 CSV 업로드
터미널 명령 :
rails g model Product name:string quantity:integer price:decimal{12,2}
rake db:migrate
늦은 컨트롤러를 만듭니다.
터미널 명령 :
rails g controller Products
컨트롤러 코드 :
class HistoriesController < ApplicationController
def create
file = Dir.glob("#{Rails.root}/public/products/**/*.csv") #=> This folder directory where read the CSV files
file.each do |file|
Product.import(file)
end
end
end
모델:
class Product< ApplicationRecord
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
Product.create! row.to_hash
end
end
end
routes.rb
resources :products
app / config / application.rb
require 'csv'
이제 개발 console
열고 run
=> ProductsController.new.create #=> Uploads your whole CSV files from your folder directory
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow