Была задача выгрузить файл CSV из одной БД. Внести массовые изменил. Загрузить файл в другую БД.
База довольно большая, больше 100 000 строк.
При загрузке столкнулся с различными проблемами
- Появлялись лишние строки
- Откуда то брались двойные кавычки
- Появлялись лишние столбцы
- Загрузка завершалась с ошибкой
Путем нескольких попыток выяснилось три главных причины ошибок:
- Кавычки в исходных данных. Я их просто удалил, для меня это не критично
- Точки с запятой в исходных данных. Это тоже не критично и я их тоже удалил
- Появлялись двойные кавычки. То ли из-за смены кодировки, то ли после массового редактирования в екселе
В итоге все проблемы устранил и все тысячи строк загрузились в базу.
Пошаговый алгоритм подготовки файла CSV для загрузки в базу
- Выгружаю файл из исходной базы. Он в формате UTF-8
- В программе notepad++ преобразовываю файл в ANSI. Мне это нужно для массового редактирования в Excel
- Открываю файл в Excel. Вношу нужные мне корректировки
- Удаляю в Excel все кавычки и точки с запятой
- Открываю файл в notepad++. Вот на этом этапе появляются ненужные кавычки
- Ищу двойные кавычки и удаляю.
- Ищу одинарные кавычки и удаляю
- Преобразовывю файл из ANSI в UTF-8