Загрузка большого файла CSV в MySQL с помощью Django и преобразований - PullRequest
2 голосов
/ 12 января 2012

У меня большой файл CSV (5,4 ГБ) данных.Это таблица с 6 столбцами и множеством строк.Я хочу импортировать его в MySQL через несколько таблиц.Кроме того, перед импортом необходимо выполнить некоторые преобразования данных (например, проанализировать ячейку, ввести части в несколько табличных значений и т. Д.).Теперь я могу сделать сценарий, который выполняет преобразование и вставляет строку за раз, но для импорта данных потребуются недели.Я знаю, что есть НАГРУЗКА ДАННЫХ INFILE для MySQL, но я не уверен, как или если я могу сделать необходимые преобразования в SQL.

Любой совет, как поступить?

1 Ответ

2 голосов
/ 13 января 2012

В моем ограниченном опыте вы не захотите использовать Django ORM для чего-то подобного.Это будет слишком медленно.Я написал бы скрипт Python для работы с CSV-файлом, используя библиотеку Python csv.А затем используйте встроенную функцию MySQL LOAD DATA INFILE для загрузки данных.

Если сценарий Python для сжатия файла CSV слишком медленный, вы можете записать эту часть на C или C ++, предполагая, что вы можете найти достойныйБиблиотека CSV для этих языков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...