[Python-es] respuesta consulta python y sqlite
gerardo Juarez
gerardojuarez en buyteknet.info
Jue Jun 2 00:02:57 CEST 2011
Manuel,
Ve lo que dice Joe. No he usado nunca SQLite, pero supongo que sigue la
DB-API 2.0 de Python. Si ese es el caso, 'c' en tu
código es un cursor y por lo tanto, como dice Joe, c.execute() ejecuta
nada más el *query* . Luego tienes que obtener los
datos con c.fetchall() o c.fetchone(). En el caso que pones en el que
obtienes un sólo número, pasa como en este ejemplo:
cur = db.cursor()
cur.execute('select count(*) from articulos') # cuantos registros
hay en esta tabla
row = cur.fetchone()
print row[0] # imprime cuantos registros obtuvo
Esto es, aún siendo count(*) lo que quieres, te va a regresar un arreglo
(o lista), por lo que lo recibes como tal y el número es
el primer y único elemento de la lista (o arreglo).
Lo que estás imprimiendo es el cursor mismo, por eso lo transforma a una
representación imprimible y obtienes:
<sqlite3.Cursor object at 0x0126B4E0>
Saludos
Gerardo
Manuel Enrique González Ramírez wrote:
> Perdón a todos,
>
> De los afanes me comí unas líneas de código (justos las del problema):
>
> # Consultemos los datos
> c.execute('SELECT * FROM tabla')
>
> for row in c:
> print row
>
> c.execute('select count(secuencia) from tabla')
> print 'Total transacciones: ',c
>
>
>
> El 1 de junio de 2011 16:25, joe di castro <enxebree en gmail.com
> <mailto:enxebree en gmail.com>> escribió:
>
> Por cierto la documentación que necesites sobre SQLite y sqlite3 la
> tienes aquí:
>
> http://docs.python.org/library/sqlite3.html#module-sqlite3
> http://www.sqlite.org/
>
> Saludos
> Joe
>
> El mié, 01-06-2011 a las 15:19 -0500, Manuel Enrique González Ramírez
> escribió:
> > Saludos.
> >
> >
> > Se me presenta un situación en la empresa para la que trabajo que
> > quiero solucionar con un script de Python acompañado de SQLite. El
> > asunto es que no tengo mucha experiencia con SQLite y al querer
> hacer
> > un count de una tabla me arroja el resultado con el siguiente
> formato:
> >
> >
> > <sqlite3.Cursor object at 0x0126B4E0>
> >
> >
> > El fragmento de codigo que me genera el resultado es este:
> >
> >
> > c.execute('SELECT * FROM tabla')
> >
> >
> > for row in c:
> > print row
> >
> >
> > Alguien me puede indicar como ver ese resultado en formato decimal??
> >
> >
> > La misma consulta la hago en el editor de sqlite (plugin de
> Mozilla) y
> > me arroja el dato en el formato deseado; también me di una
> pasada por
> > San Google pero no logro hallar documentación al respecto.
> >
> >
> >
> >
> > A todos muchas gracias
> >
> > --
> > Manuel Enrique González Ramírez
> > http://maengora.blogspot.com
> >
> > _______________________________________________
> > Python-es mailing list
> > Python-es en python.org <mailto:Python-es en python.org>
> > http://mail.python.org/mailman/listinfo/python-es
> > FAQ: http://python-es-faq.wikidot.com/
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org <mailto:Python-es en python.org>
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
>
>
> --
> Manuel Enrique González Ramírez
> http://maengora.blogspot.com
> ------------------------------------------------------------------------
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
Más información sobre la lista de distribución Python-es