2015-11-23 2 views
0

У меня есть проблема с импортированием некоторых файлов CSV/TXT.Проверка и форматирование текста перед импортом на MySql

Здесь, в компании принимаем файлы из других источников (компании). Некоторые из этих файлов иногда частично разбиваются.

Например, файл, содержащий 6 столбцов (id, name, city, state, zipCode, phone) и 2 миллиона строк. Первые 10.000 строк этого файла в порядке. Но в середине файла вместо 6 столбцов он имеет 5 или даже 7 столбцов.

Кажется, что кто-то «объединил» несколько файлов в этот и не обратил внимания на количество столбцов. Поэтому, когда я импортирую его в таблицу базы данных MySql, данные становятся очень грязными из-за нарушения разбитых столбцов. Записи zipCode отображаются в полевом состоянии и так далее.

Мне было интересно, как сканировать такой файл, прежде чем импортировать его в мою БД, что-то вроде подсчета «;» разделители каждой строки. Будет ли это сделано с использованием Regex или что будет лучшим вариантом для этого?

Моя программа написана на Лазаре/Паскале.

ответ

1

Я бы прочитал файл по строкам и проверил столбцы.

  • Если линия уважает ожидаемые столбцы (COUNT, скопируйте его в другой файл (input_OK.csv).

  • Если не сбросить его через ломаных файл (input_KO.csv).

Исследование input_KO.csv ошибки, исправить их потом импортировать исправленный файл в базу данных.

ИМО, регулярное выражение займет много времени здесь.