[Python-es] Buscar campo mysql
Rubén
parraymartinez en terra.es
Vie Feb 19 21:28:33 CET 2010
Buenas tardes,
Muchas gracias a todos por vuestras respuestas, me han sido de gran
ayuda.
Comento dos cosillas:
Solucionado el "problema"; nada tan sencillo como un for:
registro.execute("SELECT mail_uno FROM datos WHERE hostname = '%s'" %
nombre.value)
for reg in registro:
reg['mail_uno']
correo1 = reg['mail_uno']
En cuanto al método de aprendizaje comentado con José Caballero... Sin
ganas de crear polémica; obviamente no me he puesto a escribir código
sin saber nada de nada. Pero sigo pensando que la mejor manera de
aprender a programar o un lenguaje de programación es programando. Antes
de empezar tiré de "Python para todos" y di por hecho que estoy incluido
en el "todos" ;-) Y seguiré con los errores y buscando soluciones, para
programar y para todo en la vida, cueste lo que cueste.
Un saludo y muchas gracias de nuevo, lista.
--------------------
Rubén
http://foroubuntu.es
-----Mensaje original-----
De: Soto <scots4ever en gmail.com>
Para: parraymartinez en terra.es <parraymartinez en terra.es>, La lista de
python en castellano <python-es en python.org>
Asunto: Re: [Python-es] Buscar campo mysql
Fecha: Fri, 19 Feb 2010 08:27:32 +0100
Supongo por lo que dices que nombre.value es una variable cadena.
A execute has de pasarle una cadena con la consulta mysql. Al meterle la
cadena "nombre.value" mysql compara con la columna "value" de una
posible tabla nombre.
Prueba con hacer lo siguiente:
egistro.execute('SELECT mail_uno FROM datos WHERE
hostname="'+nombre.value+'"')
Varias cositas. (1) Si quieres ahorrarte algunos problemas acostumbrate
a meter las cadenas enre comillas dobles. Yo presupongo que cuando
nombras nombre.value es un objeto llamado nombre que tiene un atributo
value tipo str.
Espero te sirva de ayuda
Un saludo
__________________________________________________________
Cualquier idiota puede escribir código que un ordenador pueda entender.
Los buenos programadores escriben código que las personas puedan
entender.
– Martin Fowler
El 18 de febrero de 2010 18:54, parraymartinez en terra.es
<parraymartinez en terra.es> escribió:
>----Mensaje original----
>De: damufo en gmail.com
>Fecha: 18/02/2010 1:12
>Para: "La lista de python en castellano"<python-es en python.org>
>Asunto: Re: [Python-es] Buscar campo mysql
>
>Será que tienes que comparar con algo el campo hostname (en el
where) ?
> registro.execute("SELECT mail_uno FROM datos WHERE
hostname='algo???'")
Me da otro error con el siguiente código:
registro.execute("SELECT mail_uno FROM datos WHERE hostname =
nombre.value") #Donde nombre.value es el hostname sacado del MS
Excel
resu = registro.fetchall()
print repr(resu)
Éste es el error:
/*Traceback (most recent call last):
File "exceltux", line 69, in <module>
registro.execute("SELECT mail_uno FROM datos WHERE hostname
= nombre.value")
File "/var/lib/python-support/python2.6/MySQLdb/cursors.py",
line 166, in execute
self.errorhandler(self, exc, value)
File
"/var/lib/python-support/python2.6/MySQLdb/connections.py", line
35, in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1054, "Unknown column
'nombre.value' in 'where clause'") */
Si nombre.value lo entrecomillo 'nombre.value' me imprime en
pantalla "None"
He buscado el error por internet pero no saco nada en claro.....
>En 2010/02/18 00:53, Rubén escribiu:
> Me da el siguiente error:
>
> registro.execute("SELECT mail_uno FROM datos WHERE hostname")
> exceltux:38: Warning: Truncated incorrect INTEGER value:
HOSTNAME01
>
> ¿A que puede ser debido?
>
> Un saludo.
> --------------------
> Rubén
> http://foroubuntu.es
>
> -----Mensaje original-----
> *De*: Rubén <parraymartinez en terra.es
> <mailto:%3d%3fISO-8859-1%3fQ%3fRub%3dE9n%3f%3d%20%
3cparraymartinez en terra.es%3e>>
> *Reply-to*: La lista de python en castellano
<python-es en python.org>
> *Para*: La lista de python en castellano <python-es en python.org
> <mailto:La%20lista%20de%20python%20en%20castellano%20%
3cpython-es en python.org%3e>>
> *Asunto*: Re: [Python-es] Buscar campo mysql
> *Fecha*: Wed, 17 Feb 2010 22:53:32 +0100
>
> Gracias por tu respuesta.
>
> Entiendo entonces que por donde tengo que tirar es por el
SELECT de mysql.
>
> Lo pruebo y os cuento.
>
> ¡Muchas gracias!
>
> --------------------
> Rubén
> http://foroubuntu.es
>
>
> -----Mensaje original-----
> *De*: RadicalEd <willian.radicaled en gmail.com
> <mailto:RadicalEd%20%3cwillian.radicaled en gmail.com%3e>>
> *Reply-to*: La lista de python en castellano
<python-es en python.org>
> *Para*: La lista de python en castellano <python-es en python.org
> <mailto:La%20lista%20de%20python%20en%20castellano%20%
3cpython-es en python.org%3e>>
> *Asunto*: Re: [Python-es] Buscar campo mysql
> *Fecha*: Wed, 17 Feb 2010 16:41:18 -0500
>
> Segun te entiendo lo que debes hacer es una consulta SQL
condicional
>
> SELECT email FROM datos WHERE hostname='DATO EXTRAIDO DEL
ARCHIVO DE EXCEL'
>
> 2010/2/17 Rubén <parraymartinez en terra.es
<mailto:parraymartinez en terra.es>>
>
> Buenas lista,
>
> Estoy liado con un programa y he llegado a un punto
muerto.
>
> El programa lee de un archivo de MS Excel dos columnas:
una que
> viene el hostname de un equipo y otra una condición,
llamémosla n.
> Por otra parte tengo una tabla en mysql con un campo para
el
> hostname y otra para una dirección de mail asociada a la
que se
> tiene que enviar un correo.
>
> La cosa está en que llego a sacar los campos de la base de
datos
> como un diccionario pero sin clave:
>
> registro.execute("SELECT * FROM datos")
> resu = registro.fetchall()
> print repr(resu)
>
> Lo que busco es la manera de que si en el excel se cumple
la
> condición n en cierto hostname, poder sacar como char la
dirección
> de mail de la base de datos asociada a ese mismo hostname.
>
> Lo de la lectura del MS Excel y el envío del correo lo
tengo
> solucionado.
>
> ¿Alguna idea de por donde puedo tirar?
>
> Gracias por vuestra ayuda y un saludo.
>
> --------------------
> Rubén
> http://foroubuntu.es
>
>
>
>
> _______________________________________________
> 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/
>
>
>
>
> --
> The past are just memories, the future are just dreams!!!
> http://foros.solocodigo.com
> http://radicalpython.blogspot.com
> http://revistacodigolatino.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/
>
>
>
> _______________________________________________
> Python-es mailing list
> 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
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.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/
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20100219/dd8e597e/attachment.html>
Más información sobre la lista de distribución Python-es