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

Ramiro rmrsndvl en yahoo.com.ar
Vie Mar 5 05:39:10 CET 2010


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 <pych3m4 en gmail.com> escribió:

De: Chema Cortes <pych3m4 en 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 en python.org>
Fecha: sábado, 6 de febrero de 2010, 1:55

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).
_______________________________________________
Python-es mailing list
Python-es en python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/





      
Encontra las mejores recetas con Yahoo! Cocina.


http://ar.mujer.yahoo.com/cocina/
-----Adjunto en línea a continuación-----

_______________________________________________
Python-es mailing list
Python-es en 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/
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20100304/217fcd0f/attachment.html>


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