전자 메일 열을 포함하는 csv 파일을 가져 오려면 유효한 형식의 행만 허용하고 잘못된 형식의 행만 거부하는 방법이 있습니까? ?데이터베이스에 CSV 파일 가져 오기 - 특정 행 거부
0
A
답변
0
소화하는 동안 행을 필터링 할 수 있습니다.
나는 보통 CSV를 구문 분석하고 객체를 생성하고 저장합니다. 표준 유효성 검사를 사용하여 필터링 할 수 있습니다.
validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i
0
당신은 열을 일치하는 정규식 표현을 사용할 수 있습니다
def import
require "csv"
if params[:csv_file].present?
CSV.parse(File.open(params[:csv_file].tempfile){|f| f.read}, headers: true, header_converters: :symbol) do |row|
obj = MyObject.new(row)
obj.save # validation filter rows
end
end
end
및 모델에서 내 컨트롤러가 csv_file
매개 변수를 import
작용을하고 기대하는 경우처럼
는 컨트롤러 액션 보인다 행을 처리하기 전에 콘텐츠 : 예 :
CSV.foreach(path_to_file, :headers => true) do |row|
if /\A[A-Za-z0-9._%+-][email protected][A-Za-z0-9.-]+\.[A-Za-z]+\z/.match(row['email'])
#process the row (e.g. insert into database)
end
end
관련 문제
- 1. 데이터베이스에 CSV 가져 오기
- 2. CSV 파일을 데이터베이스에 가져 오기
- 3. 가져 오기 CSV 파일
- 4. 데이터베이스에 pcap 파일 가져 오기
- 5. 테이블에 CSV 파일 가져 오기
- 6. 데이터베이스에 Excel 파일 가져 오기
- 7. .NET에서 CSV 파일 가져 오기
- 8. Neo4j로 대용량 (7 백만 행) CSV 파일 가져 오기
- 9. MongoDB를 CSV 가져 오기 파일
- 10. 가져 오기 한 csv 파일
- 11. PostgreSQL로 CSV 파일 가져 오기
- 12. MATLAB에서 CSV 파일 가져 오기
- 13. R에 CSV 파일 가져 오기
- 14. mysql에 csv 파일 가져 오기
- 15. NEO4J에서 csv 파일 가져 오기
- 16. 비표준 CSV 파일 가져 오기
- 17. Matlab에서 CSV 파일 가져 오기
- 18. SQLite에 csv 파일 가져 오기
- 19. powershell에서 csv 파일 가져 오기
- 20. 대용량 CSV 파일 가져 오기
- 21. PHP로 CSV 파일 가져 오기
- 22. MongoDB에서 CSV 파일 가져 오기
- 23. CSV 파일 데이터를 두 행 사이의 DataGridView로 가져 오기
- 24. iphone SDK의 Sqlite 데이터베이스에 CSV 파일 가져 오기
- 25. 특정 데이터 행 가져 오기
- 26. mysql에서 특정 행 가져 오기
- 27. 기존 데이터베이스에 CSV 데이터 가져 오기
- 28. 가져 오기 특정 파일
- 29. 중복 SKU 행 : magento csv 가져 오기
- 30. CSV 가져 오기, 첫 번째 행 제외