La interfaz de línea de comandos de SQLite tiene una pequeña característica útil en la que puede abrir los resultados de su consulta SQL en un archivo de Excel.
Cuando ejecuta una consulta, en lugar de que la consulta se envíe a su consola como lo haría normalmente, se abre como una hoja de cálculo de Excel (o LibreOffice, o cualquier programa que use su sistema para abrir archivos CSV).
Tiene dos opciones al hacer esto:
- Usar un archivo temporal
- Utilice un archivo permanente (es decir, guárdelo para más tarde)
Este artículo cubre ambas opciones.
Archivo Temporal
Cuando se usa la opción de archivo temporal, SQLite hace esto al escribir un archivo temporal y luego eliminar ese archivo una vez que ha invocado el controlador para archivos CSV (por ejemplo, Excel, LibreOffice, etc.).
Para hacer esto, use el .excel
o .once -x
comandos (.excel
es un alias para .once -x
).
Aquí hay un ejemplo para demostrar el uso del método de archivo temporal usando .excel
comando.
.excel
SELECT * FROM Products;
Mi sistema actualmente usa LibreOffice para abrir archivos CSV, así que cuando ejecuté ese código, abrió automáticamente el archivo en LibreOffice. Dado que lo abría como una hoja de cálculo, recibí el mensaje "Importar" habitual donde puedo seleccionar los separadores a usar, etc.
Estas son las configuraciones predeterminadas y se ven bien. Entonces, una vez que hice clic en OK
, obtuve esto:
Agregar encabezados de columna
Puedes usar .headers on
para agregar los nombres de las columnas.
Aquí hay otro ejemplo donde agrego los encabezados de columna. En este caso, uso .once -x
en lugar de .excel
(como se mencionó, .excel
es un alias para .once -x
).
.headers on
.once -x
SELECT * FROM Products;
Resultado:
Y una vez que hago clic en OK
, me sale esto:
Así que es lo mismo, excepto que esta vez especifiqué encabezados de columna.
Archivo Permanente
Cuando usa la opción de archivo permanente, primero guarda el archivo en una ubicación específica, luego usa el .system
comando para abrir ese archivo.
Puedes usar .output
o .once
para guardar los resultados en un archivo, luego use el .system
comando para abrir su archivo de texto.
He aquí cómo hacer esto en una Mac:
.headers on
.mode csv
.once query_results.csv
SELECT * FROM Products;
.system open query_results.csv
Esto supone que estás en el mismo directorio que el archivo. De lo contrario, deberá utilizar la ruta completa.
El .system
El comando abre el archivo usando la aplicación predeterminada para abrir archivos CSV.
En un sistema Windows, su .system
el código podría parecerse más a esto:
.system c:/data/query_results.csv
En Linux/Unix:
.system xdg-open query_results.csv