SQLite: ¿Cómo guardo el resultado de una consulta como un archivo CSV?

Resuelto RayLoveless asked hace 13 años • 7 respuestas

¿Hay alguna manera de exportar los resultados de una consulta a un archivo CSV?

RayLoveless avatar May 21 '11 02:05 RayLoveless
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
gdw2 avatar May 20 '2011 20:05 gdw2

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 
Sai Bharath avatar Jul 30 '2013 05:07 Sai Bharath

Además de las respuestas anteriores, también puedes usar .oncede 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;
Mat avatar Jan 13 '2017 17:01 Mat

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
crsierra avatar May 27 '2013 22:05 crsierra