В нашем проекте нам нужно импортировать файл csv в postgres. Существует несколько типов файлов, что означает, что длина файла изменяется, так как некоторые файлы имеют меньшее количество столбцов, а некоторые — все столбцы.
Нам нужен быстрый способ импортировать этот файл в postgres. Я хочу использовать COPY FROM из postgres, так как требования к скорости обработки очень высоки (почти 150 файлов в минуту с размером файла 20 КБ каждый).
Поскольку номера столбцов файла не фиксированы, мне нужно предварительно обработать файл, прежде чем передать его процедуре postgres. Предварительная обработка заключается в добавлении дополнительных запятых в csv для столбцов, которых нет в файле.
У меня есть два варианта предварительной обработки файла: использовать python или использовать Sed.
Мой первый вопрос: какой самый быстрый способ предварительной обработки файла?
Второй вопрос: если я использую sed, как мне вставить запятую после, скажем, 4-го, 5-го поля запятой?
например. если в файле есть такие записи, как 1,23,56,мы,89,2009-12-06, и мне нужно отредактировать файл с окончательным выводом, например: 1,23,56,мы,,89,,2009-12-06