Lorsque vous utilisez le shell de ligne de commande SQLite, vous pouvez exporter les résultats de votre requête dans un fichier CSV en utilisant le .mode
commande point en conjonction avec le .output
ou .once
commandes.
Vous pouvez également utiliser le .system
commande pour ouvrir ce fichier.
Exporter une requête
Si vous ne souhaitez exporter qu'une seule requête vers un fichier CSV, utilisez .once
. Cela exporte les résultats de la prochaine instruction SQL vers le fichier spécifié, puis revient à la console.
.headers on
.mode csv
.once query_results.csv
SELECT * FROM Products;
Dans ce cas, j'active les en-têtes de colonne. Je passe ensuite en mode "csv", puis j'utilise le .once
commande pour spécifier que seule la requête suivante doit être exportée vers un fichier appelé query_results.csv .
J'exécute ensuite la requête dont les résultats sont exportés vers le fichier spécifié.
Si j'ouvre le fichier, voici ce qu'il contient :
ProductId,ProductName,Price 1,"Widget Holder",139.5 2,"Widget Opener",89.7 3,"Bob's ""Best"" Widget",374.2 4,"Blue Widget",63.0
Toutes les requêtes ultérieures seront affichées à l'écran.
Si vous ne voulez pas d'en-têtes de colonne, utilisez .headers off
au lieu de .headers on
.
Exporter toutes les requêtes
Si vous devez exécuter plusieurs requêtes, qui doivent toutes être enregistrées/ajoutées au même fichier CSV, utilisez alors .output
.
.output query_results2.csv
SELECT * FROM Products;
SELECT * FROM Products LIMIT 2;
Dans ce cas, j'ai défini le fichier de sortie, puis j'ai exécuté deux requêtes.
Voici ce que contient le fichier :
ProductId,ProductName,Price 1,"Widget Holder",139.5 2,"Widget Opener",89.7 3,"Bob's ""Best"" Widget",374.2 4,"Blue Widget",63.0 ProductId,ProductName,Price 1,"Widget Holder",139.5 2,"Widget Opener",89.7
Encore une fois, si vous ne voulez pas d'en-têtes de colonne, utilisez .headers off
.
Si vous voulez des en-têtes de colonne uniquement sur la première ligne, vous pouvez les activer, puis les désactiver après avoir exécuté la première requête. Comme ceci :
.headers on
.output query_results2.csv
SELECT * FROM Products;
.headers off
SELECT * FROM Products LIMIT 2;
Résultat :
ProductId,ProductName,Price 1,"Widget Holder",139.5 2,"Widget Opener",89.7 3,"Bob's ""Best"" Widget",374.2 4,"Blue Widget",63.0 1,"Widget Holder",139.5 2,"Widget Opener",89.7
Ouvrir automatiquement le fichier CSV
Vous pouvez utiliser le .system
commande pour ouvrir votre fichier CSV. La syntaxe exacte que vous utiliserez dépendra de votre système.
Voici comment ouvrir le fichier précédent sur un Mac :
.system open query_results2.csv
Cela suppose que vous êtes dans le même répertoire que le fichier. Sinon, vous devrez utiliser le chemin complet.
Cela ouvre le fichier dans l'application par défaut du système pour ouvrir les fichiers CSV. Par exemple, cela pourrait être Microsoft Excel, LibreOffice, l'éditeur de texte par défaut de votre système, etc.
Sur un système Windows, votre code pourrait ressembler davantage à ceci :
.system c:/data/query_results2.csv
Sous Linux/Unix :
.system xdg-open query_results2.csv