2012-09-12 106 views
1

我正在導入大的csv文件到我的導軌應用程序,但我有麻煩,在我的文件中,我有一些俄語單詞。 I'T丟我的utf8錯誤,我試着寫:紅寶石fastcsv導入俄語單詞

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文件並不壞,但會在較大的文件上陷入困境。有關導入可能有所幫助的較大文件的another thread

此外,您可能想要將負載和迭代分解爲兩個步驟。因此,爲文件做一個CSV.parse,然後迭代這些行。 「

+0

不理解」另外,您可能想要將負載和迭代分成兩步,因此請爲文件執行CSV.parse,然後遍歷行。 – byCoder

+0

做一些像'@file = CSV.parse(file)'[我忘記了確切的語法]然後'@file.CSVRows.each do | blah |'。你甚至可以把它推到另一個線程。 – ScottJShea