Импорт файла CSV в базу данных SQLite (без заголовков) - PullRequest
0 голосов
/ 16 апреля 2019

Как загрузить файл CSV в таблицу с помощью консоли? Проблема в том, что я должен как-то опустить заголовки из файла CSV (я не могу удалить их вручную).

1 Ответ

0 голосов
/ 16 апреля 2019

Из документа sqlite3 по CSV Import :

Необходимо рассмотреть два случая: (1) Таблица "tab1" ранее не существует и (2) таблица "tab1" уже существует.

В первом случае, когда таблица ранее не существовала, таблица автоматически создается и содержимое первой строки ввода CSV-файл используется для определения имени всех столбцов в Таблица. Другими словами, если таблица ранее не существовала, первая строка файла CSV интерпретируется как имена столбцов, а фактические данные начинаются со второй строки файла CSV.

Во втором случае, когда таблица уже существует, каждая строка Предполагается, что файл CSV, включая первую строку, является фактическим содержимым. Если CSV-файл содержит начальную строку меток столбцов, эта строка будет читать как данные и вставлять в таблицу. Чтобы избежать этого, убедитесь, что эта таблица ранее не существовала.

Это либо / или. Вам придется перехитрить его.

Предполагая, что " Я не могу удалить их вручную " означает, что из CSV, а не из таблицы, вы можете sql удалить строку заголовка после импорта.

Или: импортировать во временную таблицу в целевой базе данных, вставить в целевую таблицу из временной таблицы, удалить временную таблицу.

Или:

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