[Python-es] Como saber el tipo de columna en una base de datos SQLITE

Chema Cortes pych3m4 en gmail.com
Sab Feb 6 04:55:26 CET 2010


El 5 de febrero de 2010 02:17, Ramiro <rmrsndvl en yahoo.com.ar> escribió:

> Yo utilizo cursor.description para conocer los nombres de las columnas. Lo malo de eso es que no puede estar vaacía la base.
> Pero de los tipos de cada columna ni idea de como sacarla, en la documentación que aparece sobre la librería sqlite3 de python no muestra nada sobre como sacar los tipos de datos.

Si entiendo bien, el problema es que pysqlite no da más información en
el cursor.description que el nombre de los campos (el resto de
información se rellena con Nones).

Tendrás que usar entonces el segundo método que te indiqué:

  cur.execute("pragma table_info('tabla')")


Por cada campo devuelve una tupla con:

- número de orden
- nombre del campo
- tipo (con el que se ha definido la tabla)
- nullable (0/1)
- valor por defecto
- clave primaria (0/1)


A partir de la definición de la tabla, se siguen una sencillas reglas
para sacar la afinidades a partir del nombre del tipo (mira en la
documentación).



Más información sobre la lista de distribución Python-es