Вам не нужен PHP-код для этого, IMO. Не трать время на занятия. Предложение MySQL LOAD DATA INFILE предоставляет множество способов импорта данных для 95% ваших потребностей. Какие бы разделители, какие столбцы пропустить / выбрать. Внимательно прочитайте руководство, стоит знать, что вы МОЖЕТЕ сделать с ним. После импорта данных, оно может быть уже в хорошей форме, если вы правильно напишите запрос. Буферная таблица может быть временной. Затем нормализуйте или денормализуйте его и удалите исходную таблицу. Сохраните сценарий в файле, чтобы воспроизвести последовательность сценариев в случае ошибки.
Лучший способ - написать сценарий SQL, проверить, в конечном итоге, находятся ли данные в надлежащей форме, найти ошибки, изменить, повторно запустить сценарий. Если данных много, проведите тестирование на меньшем наборе строк.
[добавлено] Другая причина подхода sql-главным образом заключается в том, что если вы не владеете SQL, но собираетесь работать с базой данных, лучше изучить SQL раньше. Позже вы найдете много вариантов его использования и избежите распространенных ошибок программистов, которые знают это поверхностно.