Как импортировать CSV-файл в SQLite, кроме первой строки CSV? - PullRequest
4 голосов
/ 27 февраля 2020

Я пытаюсь импортировать файл CSV в свою таблицу SQLite. Я создал свою таблицу SQLite как:

CREATE TABLE car(id INTEGER PRIMARY KEY, name TEXT, model TEXT);

Мой файл CSV cars.csv:

Id            Name          Model
1             Car 1         BMW
2             Car 2         Mercedes
3             Car 3         BMW

Теперь я импортирую CSV в SQLite, используя .import cars.csv, но он импортирует все 4 строки файла CSV. Я не могу понять, как импортировать файл CSV без первой строки заголовков.

Ответы [ 2 ]

4 голосов
/ 27 февраля 2020

С помощью команды .import оболочки sqlite3, если первым символом заключенного в кавычки имени файла является |, остальная часть имени файла вместо этого обрабатывается как команда оболочки, которая выполняется для получения данных для импорта , Итак, что я делаю в этой ситуации:

sqlite> .import '| tail -n +2 cars.csv' car

Вызов tail напечатает все, кроме первой строки файла.

0 голосов
/ 27 февраля 2020

если вы можете пропустить шаг создания таблицы и импортировать файл в новую таблицу, которой раньше не было, вы можете импортировать файл, создать таблицу и пропустить строку заголовка за один шаг, если вам нужно создать таблицу раньше, как в случае, если вы выполняете несколько импортов нескольких файлов в одну таблицу, кажется, что единственный доступный вариант - импортировать все и удалять запись, связанную с первой строкой заголовка (вы все равно знаете значения, поэтому их легко найти). и удалите), см. здесь примеры:

SQLite3 Импорт CSV и исключение / пропуск заголовка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...