2010-02-15 4 views
0

나는 현재루비 FasterCSV

@parsed_file=CSV::Reader.parse(params[:dump][:file]) 
@parsed_file.each do |row| 
#some code 
end 

내가 증가 속도를 빠르게 CSV로이 이동할 표준 csv로 라이브러리를 사용하여 CSV 파일을 구문 분석하려면 다음 코드를 가지고 CSV에서 이동 레일에. 누구든지 FasterCSV에 대해 위와 동일한 것을 알고 있습니까?

감사

답변

2
CSV::Reader.parse(File.open('file.csv')){|row| puts row} 
or 
CSV::Reader.parse("some, content\nanother, content"){|row| puts row} 

FasterCSV.parse(File.open('file.csv')){|row| puts row} 
or 
FasterCSV.parse("some, content\nanother, content"){|row| puts row} 

는 동등하다.

그러나

FasterCSV.read('filename') 

는 매개 변수로 파일 이름을 받아 읽고는 잘 작동합니다 매개 변수

@parsed_file = FasterCSV.parse(params[:dump][:file]) 
@parsed_file.each do |row| 
    puts row 
    # and do some operations 
end 

에 데이터를 전달하는 그러나 당신이 파일 내용을 덤프 된 파일에서 데이터를 구문 분석합니다.

1

(당신이로 나타나는) 파일 경로와 함께 할하려면 :

FasterCSV.read(params[:dump][:file]) 

당신은 그것을 할 수있는 다른 방법에 대한 FasterCSV docs을 확인할 수 있습니다 (예를 들면, 과정은 각 행 그건로 구문 분석되거나 파일 대신 문자열에서 읽음).

+0

임시 파일을 문자열 오류로 변환 할 수 없음 가져 오기 – Splashlin