web-dev-qa-db-fra.com

Comment importer un fichier tsv avec SQLite3

J'ai un tsv (fichier séparé par des tabulations) que j'aimerais importer avec sqlite3. Est-ce que quelqu'un connaît une manière claire de le faire?

J'ai installé sqlite3, mais je n'ai pas encore créé de base de données ou de tables.

J'ai essayé la commande

.import /path/filename.tsv my_new_table

mais cela me donne l'erreur: pas de telle table: my_new_table.

Cependant, d'après ce que j'ai lu, il devrait créer automatiquement le tableau s'il n'existe pas. Cela signifie-t-il que je dois d'abord créer et utiliser une base de données, ou existe-t-il une autre astuce pour importer un fichier .tsv dans sqlite?

33
bsuire

Vous devez créer la table, définir un séparateur et importer les données sqlite wiki .

Exemple pour TSV:

data.tsv (tabulation comme séparateur):

Bob 30  1000
Wendy   20  900

1) Créez une table et définissez TAB comme séparateur:

sqlite> create table people (name text, param1 int, param2 int);
sqlite> .separator "\t"

2) Importer des données:

sqlite> .import data.tsv people

Et le résultat est:

sqlite> select * from people;
Bob 30  1000
Wendy   20  900
30
Grigorii Chudnov

Il existe en fait un mode dédié pour importer des fichiers séparés par des tabulations:

sqlite> .mode tabs
sqlite> .import data.tsv people

De plus, si vous incluez une ligne d'en-tête dans votre fichier tsv, vous pouvez laisser sqlite créer automatiquement la table. Utilisez simplement un nom de table inutilisé lors de l'importation et changez le fichier tsv en:

name    param1  param2
Bob 30  1000
Wendy   20  900
71
adius