SQLite: ¿Cómo guardo el resultado de una consulta como un archivo CSV?
¿Hay alguna manera de exportar los resultados de una consulta a un archivo CSV?
Aceptado
De aquí y del comentario de d5e5:
Tendrás que cambiar la salida al modo csv y cambiar a la salida del archivo.
sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout
Para incluir nombres de columnas en su archivo csv, puede hacer lo siguiente:
sqlite> .headers on
sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout
Para verificar los cambios que ha realizado, puede ejecutar este comando:
sqlite> .show
Producción:
echo: off
explain: off
headers: on
mode: csv
nullvalue: ""
output: stdout
separator: "|"
stats: off
width: 22 18
Además de las respuestas anteriores, también puedes usar .once
de manera similar a .output
. Esto genera solo la siguiente consulta al archivo especificado, de modo que no tenga que seguir con .output stdout
.
Entonces en el ejemplo anterior
.mode csv
.headers on
.once test.csv
select * from tbl1;
Buenas respuestas de gdw2 y d5e5. Para hacerlo un poco más simple, aquí están las recomendaciones reunidas en una única serie de comandos:
sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout