В целом, вариант рабочий, но есть некоторые нюансы. Главная проблема такого подхода заключается во времени работы, ведь для реализации алгоритма должно пройти 11*3 000 000 * 242 000 000 итераций цикла, при этом в каждой итерации происходит выполнение функции разбиения текста (split). Так же, стоит отметить, что в каждой из 3 000 000 итераций происходит открытия файла в 242 000 000 строк. Обратный вариант однократного открытия файлов и чтения внутри него файлов по 3 000 000 строк также является неприемлемым для поставленной задачи. Решить вопрос с комфортным временем выполнения и сравнительно не сложным алгоритмом нам удалось при помощи библиотеки Pandas.
Попробуйте ImportExportDataSql, которая сможет загрузить большие csv файлы в Sql Server. Можно настроить поля, например, выбрать только ключевые поля и загрузить их в базу, потом сделать джойн в базе
ImportExportDataSql загружает Csv файл в базу порциями, чтобы память не переполнялась. Данные в базу загружаются очень быстро, так как используется класс SqlBulkInsert
Спасибо!
Python сила
Согласны!