Как импортировать файл tsv с помощью SQLite3
У меня есть tsv (файл с разделителями вкладок), который я хотел бы импортировать с помощью sqlite3. Кто-нибудь знает, как это сделать?
Я установил sqlite3, но еще не создал ни одну базу данных или таблицы.
Я пробовал команду
.import /path/filename.tsv my_new_table
но он дает мне ошибку: нет такой таблицы: my_new_table.
Однако из того, что я прочитал, он должен автоматически создать таблицу, если она не существует. Означает ли это, что мне нужно сначала создать и использовать базу данных, или есть еще один трюк для импорта .tsv файла в sqlite?
Ответы
Ответ 1
Вам следует создать таблицу, установить разделитель и импортировать данные sqlite wiki.
Пример для TSV:
data.tsv
(вкладка как разделитель):
Bob 30 1000
Wendy 20 900
1) Создайте таблицу и установите TAB в качестве разделителя:
sqlite> create table people (name text, param1 int, param2 int);
sqlite> .separator "\t"
2) Данные импорта:
sqlite> .import data.tsv people
И результат:
sqlite> select * from people;
Bob 30 1000
Wendy 20 900
Ответ 2
На самом деле существует специальный режим для импорта разделяемых разделов файлов:
sqlite> .mode tabs
sqlite> .import data.tsv people
Также, если вы включаете строку заголовка в свой файл tsv, вы можете позволить sqlite автоматически создать таблицу.
Просто используйте неиспользуемое имя таблицы во время импорта и измените файл tsv на:
name param1 param2
Bob 30 1000
Wendy 20 900