Je suis nouveau sur SQLite. Existe-t-il un moyen d'exporter les résultats d'une requête dans un fichier CSV?
Je suis nouveau sur SQLite. Existe-t-il un moyen d'exporter les résultats d'une requête dans un fichier CSV?
Réponses:
D' ici et le commentaire de d5e5:
Vous devrez basculer la sortie en mode csv et passer en sortie de fichier.
sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout
Pour inclure les noms de colonnes dans votre fichier csv, vous pouvez effectuer les opérations suivantes:
sqlite> .headers on
sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout
Pour vérifier les modifications que vous avez apportées, vous pouvez exécuter cette commande:
sqlite> .show
Production:
echo: off
explain: off
headers: on
mode: csv
nullvalue: ""
output: stdout
separator: "|"
stats: off
width: 22 18
.output filename.csv
exécution crée ou efface le fichier.
En plus des réponses ci-dessus, vous pouvez également utiliser .once
de la même manière que .output
. Cela génère uniquement la requête suivante dans le fichier spécifié, de sorte que vous n'ayez pas à suivre avec.output stdout
.
Donc dans l'exemple ci-dessus
.mode csv
.headers on
.once test.csv
select * from tbl1;
Sinon, vous pouvez le faire en une seule ligne (testé dans win10)
sqlite3 -help
sqlite3 -header -csv db.sqlite 'select * from tbl1;' > test.csv
Bonus: utilisation de PowerShell avec l'applet de commande et le tube (|).
get-content query.sql | sqlite3 -header -csv db.sqlite > test.csv
où query.sql est un fichier contenant votre requête SQL