Из документа sqlite3 по CSV Import :
Необходимо рассмотреть два случая: (1) Таблица "tab1" ранее не
существует и (2) таблица "tab1" уже существует.
В первом случае, когда таблица ранее не существовала, таблица
автоматически создается и содержимое первой строки ввода
CSV-файл используется для определения имени всех столбцов в
Таблица. Другими словами, если таблица ранее не существовала,
первая строка файла CSV интерпретируется как имена столбцов, а
фактические данные начинаются со второй строки файла CSV.
Во втором случае, когда таблица уже существует, каждая строка
Предполагается, что файл CSV, включая первую строку, является фактическим содержимым. Если
CSV-файл содержит начальную строку меток столбцов, эта строка будет
читать как данные и вставлять в таблицу. Чтобы избежать этого, убедитесь, что
эта таблица ранее не существовала.
Это либо / или. Вам придется перехитрить его.
Предполагая, что " Я не могу удалить их вручную " означает, что из CSV, а не из таблицы, вы можете sql удалить строку заголовка после импорта.
Или: импортировать во временную таблицу в целевой базе данных, вставить в целевую таблицу из временной таблицы, удалить временную таблицу.
Или:
- подключиться к базе данных в памяти
- импортировать CSV в таблицу
- присоединить целевую базу данных
- вставить в целевую таблицу из импортированной таблицы в памяти