1

大きなcsvファイルをrailsアプリにインポートしていますが、問題があります。ファイルにロシア語の単語が含まれています。utf8エラーをスローしません、書き込みを試みました:

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時間ほど速くなると思いますが、これを行うにはどうすればよいですか?ロシア語を読まない方法は?

4

1 に答える 1

0

activerecord-importをチェックアウトする必要があります。CSVは、小さいCSVファイルには悪くありませんが、大きいファイルでは行き詰まります。これは、役立つ可能性のある大きなファイルのインポートに関する別のスレッドです。

さらに、負荷と反復を2つのステップに分割することもできます。したがって、ファイルに対してCSV.parseを実行してから、行を反復処理します。

于 2012-09-21T10:11:46.347 に答える