Рубин fastcsv импорт русских слов

Я импортирую большой 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 часов, без кодирования было бы быстрее, но как это сделать? Как не читать русские слова?

1 ответ

Решение

Вы должны проверить activerecord-import. CSV неплох для небольших файлов CSV, но затягивается на больших. Вот еще одна ветка об импорте больших файлов, которая может помочь.

Кроме того, вы можете разбить загрузку и итерацию на два этапа. Так что сделайте CSV.parse для файла и затем итерируйте по строкам.

Другие вопросы по тегам