La commande sqlite3 .import ne fonctionne pas pour les données csv ordinaires car elle traite toute virgule comme un délimiteur, même dans une chaîne entre guillemets.
Cela inclut la tentative de réimporter un fichier csv qui a été créé par le shell :
Create table T (F1 integer, F2 varchar);
Insert into T values (1, 'Hey!');
Insert into T values (2, 'Hey, You!');
.mode csv
.output test.csv
select * from T;
Contents of test.csv:
1,Hey!
2,"Hey, You!"
delete from T;
.import test.csv T
Error: test.csv line 2: expected 2 columns of data but found 3
Il semble que nous devions transformer le csv en une liste de déclarations d'insertion, ou peut-être qu'un autre délimiteur fonctionnera.
Sur SuperUser, j'ai vu une suggestion d'utiliser LogParser pour traiter les fichiers csv, je vais y réfléchir.
0 votes
Documentation pertinente