Я бы, вероятно, использовал небольшой пользовательский скрипт и fast_csv gem , в котором есть хорошие инструменты для быстрого анализа файлов .csv. Затем вы можете сопоставить поля с атрибутами модели.
Я бы реализовал это через TDD в качестве методов модели и использовал бы метод create ActiveRecords для создания экземпляров. Хотя это медленнее, чем прямая запись SQL, безопаснее будет то, что ваши данные будут проходить через все проверки моделей, и вы будете лучше уверены в целостности данных.
Устранение проблем целостности данных при импорте устаревших данных заранее избавит вас от многих проблем позже.