2012-11-07 1 views
4

나는 그것이 내가 직면하고있는 문제 user.csv.But csv 파일 이름을 가져올 수있는 응용 프로그램을 만드는 중이라서는 CsvimportController 번호 가져 오기에서 오류를 인수레일에서 CSV 파일을 가져 오는 방법은 무엇입니까?

잘못된 번호 (1

하면 ArgumentError을 제공한다는 것입니다 0)

그리고 CsvimportController의 코드를

require 'csv' 
class CsvimportController < ApplicationController 
def import 

results = import('anas.csv') do 
read_attributes_from_file 
end 


end 
end 

내가 또한 보석 파일에 CSV - 매퍼 및 fastercsv의 사양을 제공했다.

아무도 도와 줄 수 있습니까 ???

어떤 도움을 주시면 감사하겠습니다 ..

감사

+0

가져 오기가 csv lib의 기능이므로 다른 이름을 지정해야하므로 작업 이름을 변경하고 시도하십시오. –

+0

[Ruby on Rails - CSV 파일에서 데이터 가져 오기] 가능한 중복 (http://stackoverflow.com/questions/4410794/ruby-on-rails-import-data-from-a-csv-file) –

답변

2

것은 CSV 및 Excel 파일에서 데이터를 가져 오는 방법에 대한 Railscast 396를 살펴 보자.

smarter_csv 프로젝트는 CSV 파일을 더 잘 다루는 것을 목표로하므로 살펴볼 가치가 있습니다.

0

보석을 사용하면 쉽습니다. smarter_csv.

당신이해야 할 모든

이 있습니다 :

require 'smarter_csv' 

def import(filename) 
    results = SmarterCSV.process(filename, options_hash) 
end 

하고 헤더의 조작을 포함하여 유용한 옵션의 톤이있는 documentation of smarter_csv

에 따라 options_hash의 옵션을 지정해야합니다, 사용자 지정 헤더, 열 무시 및 값의 유형 변환이 포함됩니다.

CSV 파일이 큰 경우 병렬 처리를 위해 들어오는 데이터를 청크로 처리 할 수도 있습니다.