Без знания структуры данных и структуры таблицы тут мало что понять можно.
Но вообще, вместо тупого копирования из csv через copy_from*(), нужно:
1. Читай файл самостоятельно. Используй модуль
csv, он умеет удобно парсить этот формат, в том числе пропускать строку заголовков.
2. Выбери в своих данных первичный ключ, чтобы понять, когда такая строка уже есть в базе, а когда её ещё нет. При создании таблицы укажи первичным ключом соотв. столбец.
3. вставляй данные через запрос вида INSERT ... ON CONFLICT UPDATE. Точный синтаксис нужно посмотреть в документации на постгрес, обычно это называется UPSERT.
Проблема с copy_from() в том, что у тебя таблица БД должна иметь тот же набор столбцов и в том же порядке, что и CSV, хотя это ограничение совершенно необязательно.