https://foro.gambas-es.org/viewtopic.php?f=3&t=7617&p=45765#p45765
-----------------------------------
jguardon
Jueves, 22 Agosto 2019, 11:34

Re: Necesito Convertir Archivo, CSV A Una Tabla SQLite3, ¿Cual Es Vuestro Camino Mas Simple?
-----------------------------------
Hola

Existe una forma muy simple y rápida de hacerlo mediante el terminal. Hay que tener en cuenta que la importación crea la tabla cada vez, por lo que si existe previamente habrá que borrar dicha tabla. Otra consideración a tener en cuenta es si el fichero CSV lleva o no en el primer registro las cabeceras de las columnas.

Abrimos el terminal y entramos en el modo interactivo de sqlite3:

[code linenumbers=false syntax=sh]~ $ sqlite3[/code]

Entramos en modo csv para que el motor sqlite entienda el formato de entrada:

[code linenumbers=false syntax=bash]sqlite> .mode csv[/code]

Realizamos la importación del fichero csv mediante el comando .import usando la ruta completa del fichero e indicando el nombre de la tabla de destino:

[code linenumbers=false syntax=bash]sqlite> .import /home/jesus/input_file.csv test_table
sqlite>[/code]


Aunque no lo he probado a fondo, me imagino que si el fichero no lleva los encabezados, intentará usar una tabla existente. Si los lleva, creará la tabla desde 0, pero no he hecho pruebas. En cualquier caso, el orden de los campos es importante si lo que tratamos de hacer es importar la tabla completa o sólo insertar datos nuevos, lo que en mi opinión no es recomendable hacer usando este método.

Probadlo y comentamos.

Saludos


