Pude hacer andar la solución que me pasaste Chema Cortes, gracias por la mano
que me tiraste.
Dejo un ejemplo:
#!/usr/bin/python
import gtk, pygtk
import sqlite3 as sql
bbdd = sql.connect('datos.bd')
cur = bbdd.cursor()
cur.execute("pragma table_info('TABLA_1')")
r = cur.fetchall()
for columna in r:
print columna
cur.close()
bbdd.close()
SALUDOS
--- El sáb 6-feb-10, Chema Cortes <pych...@gmail.com> escribió:
De: Chema Cortes <pych...@gmail.com>
Asunto: Re: [Python-es] Como saber el tipo de columna en una base de datos
SQLITE
Para: "La lista de python en castellano" <python-es@python.org>
Fecha: sábado, 6 de febrero de 2010, 1:55
El 5 de febrero de 2010 02:17, Ramiro <rmrsn...@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).
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
Yahoo! Cocina
Encontra las mejores recetas con Yahoo! Cocina.
http://ar.mujer.yahoo.com/cocina/
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/