2012-09-12 2 views
1

큰 csv 파일을 내 레일 앱에 가져 오지만 문제가 있습니다. 내 파일에 러시아어가 몇 개 있습니다. I't UTF8 오류 나를 던져, 나는 쓰기 시도 :Ruby fastcsv import russian words

CSV.foreach("/#{Rails.public_path}/uploads/hshatem2.csv", {:encoding => 'ISO-8859-15:UTF-8', :col_sep => ';', :row_sep => :auto, :headers => :first_row}) do | row | 

을하지만 그것은 (내가 인코딩 생각) 너무 시간 전 참여했다. 또한 그것은 약 5 시간을 생각하면, 인코딩이 더 빠를 필요가 없지만 이것을 수행하는 방법은 무엇입니까? 러시아어를 읽지 않으려면 어떻게해야하나요?

답변

0

activerecord-import을 확인해야합니다. CSV는 더 작은 CSV 파일에는 좋지 않지만 더 큰 CSV 파일에는 어려움이 있습니다. 큰 파일을 가져 오는 데는 another thread이 도움이 될 수 있습니다.

또한로드 및 반복을 두 단계로 나누고 싶을 수도 있습니다. 따라서 파일에 대해 CSV.parse를 수행 한 다음 행을 반복합니다.

+0

"또한로드 및 반복을 두 단계로 나눌 수 있습니다. 파일에 대해 CSV.parse를 수행 한 다음 행을 반복합니다." – byCoder

+0

'@file = CSV.parse (file)'[정확한 구문을 잊어 버린 후]''@file.CSVRows.each do | blah |'와 같은 일을하십시오. 다른 스레드로 밀어 넣을 수도 있습니다. – ScottJShea