<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.28.2">
</HEAD>
<BODY>
Buenas tardes,<BR>
<BR>
Muchas gracias a todos por vuestras respuestas, me han sido de gran ayuda.<BR>
<BR>
Comento dos cosillas:<BR>
<BR>
Solucionado el "problema"; nada tan sencillo como un for:<BR>
<BR>
registro.execute("SELECT mail_uno FROM datos WHERE hostname = '%s'" % nombre.value)<BR>
                for reg in registro:<BR>
                        reg['mail_uno']<BR>
                correo1 = reg['mail_uno']<BR>
<BR>
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.<BR>
<BR>
Un saludo y muchas gracias de nuevo, lista.<BR>
<BR>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
--------------------<BR>
Rubén<BR>
http://foroubuntu.es <BR>
<BR>
</TD>
</TR>
</TABLE>
-----Mensaje original-----<BR>
<B>De</B>: Soto <<A HREF="mailto:Soto%20%3cscots4ever@gmail.com%3e">scots4ever@gmail.com</A>><BR>
<B>Para</B>: parraymartinez@terra.es <<A HREF="mailto:%22parraymartinez@terra.es%22%20%3cparraymartinez@terra.es%3e">parraymartinez@terra.es</A>>, La lista de python en castellano <<A HREF="mailto:La%20lista%20de%20python%20en%20castellano%20%3cpython-es@python.org%3e">python-es@python.org</A>><BR>
<B>Asunto</B>: Re: [Python-es] Buscar campo mysql<BR>
<B>Fecha</B>: Fri, 19 Feb 2010 08:27:32 +0100<BR>
<BR>
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.
<BR>
<BR>
Espero te sirva de ayuda
Un saludo
<BR>
__________________________________________________________<BR>
Cualquier idiota puede escribir código que un ordenador pueda entender.<BR>
Los buenos programadores escriben código que las personas puedan entender.<BR>
– Martin Fowler<BR>
<BR>
<BR>
El 18 de febrero de 2010 18:54, <A HREF="mailto:parraymartinez@terra.es">parraymartinez@terra.es</A> <<A HREF="mailto:parraymartinez@terra.es">parraymartinez@terra.es</A>> escribió:<BR>
<BLOCKQUOTE>
<BR>
<BR>
>----Mensaje original----<BR>
>De: <A HREF="mailto:damufo@gmail.com">damufo@gmail.com</A><BR>
>Fecha: 18/02/2010 1:12<BR>
>Para: "La lista de python en castellano"<<A HREF="mailto:python-es@python.org">python-es@python.org</A>><BR>
>Asunto: Re: [Python-es] Buscar campo mysql<BR>
><BR>
>Será que tienes que comparar con algo el campo hostname (en el where) ?<BR>
> registro.execute("SELECT mail_uno FROM datos WHERE hostname='algo???'")<BR>
<BR>
<BR>
Me da otro error con el siguiente código:<BR>
<BR>
registro.execute("SELECT mail_uno FROM datos WHERE hostname = nombre.value") #Donde nombre.value es el hostname sacado del MS Excel<BR>
resu = registro.fetchall()<BR>
print repr(resu)<BR>
<BR>
Éste es el error:<BR>
<BR>
/*Traceback (most recent call last):<BR>
File "exceltux", line 69, in <module><BR>
registro.execute("SELECT mail_uno FROM datos WHERE hostname = nombre.value")<BR>
File "/var/lib/python-support/python2.6/MySQLdb/cursors.py", line 166, in execute<BR>
self.errorhandler(self, exc, value)<BR>
File "/var/lib/python-support/python2.6/MySQLdb/connections.py", line 35, in defaulterrorhandler<BR>
raise errorclass, errorvalue<BR>
_mysql_exceptions.OperationalError: (1054, "Unknown column 'nombre.value' in 'where clause'") */<BR>
<BR>
Si nombre.value lo entrecomillo 'nombre.value' me imprime en pantalla "None"<BR>
<BR>
He buscado el error por internet pero no saco nada en claro.....<BR>
<BR>
<BR>
<BR>
>En 2010/02/18 00:53, Rubén escribiu:<BR>
> Me da el siguiente error:<BR>
><BR>
> registro.execute("SELECT mail_uno FROM datos WHERE hostname")<BR>
> exceltux:38: Warning: Truncated incorrect INTEGER value: HOSTNAME01<BR>
><BR>
> ¿A que puede ser debido?<BR>
><BR>
> Un saludo.<BR>
> --------------------<BR>
> Rubén<BR>
> <A HREF="http://foroubuntu.es">http://foroubuntu.es</A><BR>
><BR>
> -----Mensaje original-----<BR>
> *De*: Rubén <<A HREF="mailto:parraymartinez@terra.es">parraymartinez@terra.es</A><BR>
> <mailto:%<A HREF="mailto:3d%253fISO-8859-1%253fQ%253fRub%253dE9n%253f%253d%2520%253cparraymartinez@terra.es">3d%3fISO-8859-1%3fQ%3fRub%3dE9n%3f%3d%20%3cparraymartinez@terra.es</A>%3e>><BR>
> *Reply-to*: La lista de python en castellano <<A HREF="mailto:python-es@python.org">python-es@python.org</A>><BR>
> *Para*: La lista de python en castellano <<A HREF="mailto:python-es@python.org">python-es@python.org</A><BR>
> <mailto:<A HREF="mailto:La%2520lista%2520de%2520python%2520en%2520castellano%2520%253cpython-es@python.org">La%20lista%20de%20python%20en%20castellano%20%3cpython-es@python.org</A>%3e>><BR>
> *Asunto*: Re: [Python-es] Buscar campo mysql<BR>
> *Fecha*: Wed, 17 Feb 2010 22:53:32 +0100<BR>
><BR>
> Gracias por tu respuesta.<BR>
><BR>
> Entiendo entonces que por donde tengo que tirar es por el SELECT de mysql.<BR>
><BR>
> Lo pruebo y os cuento.<BR>
><BR>
> ¡Muchas gracias!<BR>
><BR>
> --------------------<BR>
> Rubén<BR>
> <A HREF="http://foroubuntu.es">http://foroubuntu.es</A><BR>
><BR>
><BR>
> -----Mensaje original-----<BR>
> *De*: RadicalEd <<A HREF="mailto:willian.radicaled@gmail.com">willian.radicaled@gmail.com</A><BR>
> <mailto:<A HREF="mailto:RadicalEd%2520%253cwillian.radicaled@gmail.com">RadicalEd%20%3cwillian.radicaled@gmail.com</A>%3e>><BR>
> *Reply-to*: La lista de python en castellano <<A HREF="mailto:python-es@python.org">python-es@python.org</A>><BR>
> *Para*: La lista de python en castellano <<A HREF="mailto:python-es@python.org">python-es@python.org</A><BR>
> <mailto:<A HREF="mailto:La%2520lista%2520de%2520python%2520en%2520castellano%2520%253cpython-es@python.org">La%20lista%20de%20python%20en%20castellano%20%3cpython-es@python.org</A>%3e>><BR>
> *Asunto*: Re: [Python-es] Buscar campo mysql<BR>
> *Fecha*: Wed, 17 Feb 2010 16:41:18 -0500<BR>
><BR>
> Segun te entiendo lo que debes hacer es una consulta SQL condicional<BR>
><BR>
> SELECT email FROM datos WHERE hostname='DATO EXTRAIDO DEL ARCHIVO DE EXCEL'<BR>
><BR>
> 2010/2/17 Rubén <<A HREF="mailto:parraymartinez@terra.es">parraymartinez@terra.es</A> <mailto:<A HREF="mailto:parraymartinez@terra.es">parraymartinez@terra.es</A>>><BR>
><BR>
> Buenas lista,<BR>
><BR>
> Estoy liado con un programa y he llegado a un punto muerto.<BR>
><BR>
> El programa lee de un archivo de MS Excel dos columnas: una que<BR>
> viene el hostname de un equipo y otra una condición, llamémosla n.<BR>
> Por otra parte tengo una tabla en mysql con un campo para el<BR>
> hostname y otra para una dirección de mail asociada a la que se<BR>
> tiene que enviar un correo.<BR>
><BR>
> La cosa está en que llego a sacar los campos de la base de datos<BR>
> como un diccionario pero sin clave:<BR>
><BR>
> registro.execute("SELECT * FROM datos")<BR>
> resu = registro.fetchall()<BR>
> print repr(resu)<BR>
><BR>
> Lo que busco es la manera de que si en el excel se cumple la<BR>
> condición n en cierto hostname, poder sacar como char la dirección<BR>
> de mail de la base de datos asociada a ese mismo hostname.<BR>
><BR>
> Lo de la lectura del MS Excel y el envío del correo lo tengo<BR>
> solucionado.<BR>
><BR>
> ¿Alguna idea de por donde puedo tirar?<BR>
><BR>
> Gracias por vuestra ayuda y un saludo.<BR>
><BR>
> --------------------<BR>
> Rubén<BR>
> <A HREF="http://foroubuntu.es">http://foroubuntu.es</A><BR>
><BR>
><BR>
><BR>
><BR>
> _______________________________________________<BR>
> Python-es mailing list<BR>
> <A HREF="mailto:Python-es@python.org">Python-es@python.org</A> <mailto:<A HREF="mailto:Python-es@python.org">Python-es@python.org</A>><BR>
> <A HREF="http://mail.python.org/mailman/listinfo/python-es">http://mail.python.org/mailman/listinfo/python-es</A><BR>
> FAQ: <A HREF="http://python-es-faq.wikidot.com/">http://python-es-faq.wikidot.com/</A><BR>
><BR>
><BR>
><BR>
><BR>
> --<BR>
> The past are just memories, the future are just dreams!!!<BR>
> <A HREF="http://foros.solocodigo.com">http://foros.solocodigo.com</A><BR>
> <A HREF="http://radicalpython.blogspot.com">http://radicalpython.blogspot.com</A><BR>
> <A HREF="http://revistacodigolatino.blogspot.com">http://revistacodigolatino.blogspot.com</A><BR>
><BR>
> _______________________________________________<BR>
> Python-es mailing list<BR>
> <A HREF="mailto:Python-es@python.org">Python-es@python.org</A> <mailto:<A HREF="mailto:Python-es@python.org">Python-es@python.org</A>><BR>
> <A HREF="http://mail.python.org/mailman/listinfo/python-es">http://mail.python.org/mailman/listinfo/python-es</A><BR>
> FAQ:<A HREF="http://python-es-faq.wikidot.com/">http://python-es-faq.wikidot.com/</A><BR>
> _______________________________________________<BR>
> Python-es mailing list<BR>
> <A HREF="mailto:Python-es@python.org">Python-es@python.org</A> <mailto:<A HREF="mailto:Python-es@python.org">Python-es@python.org</A>><BR>
> <A HREF="http://mail.python.org/mailman/listinfo/python-es">http://mail.python.org/mailman/listinfo/python-es</A><BR>
> FAQ:<A HREF="http://python-es-faq.wikidot.com/">http://python-es-faq.wikidot.com/</A><BR>
><BR>
><BR>
><BR>
> _______________________________________________<BR>
> Python-es mailing list<BR>
> <A HREF="mailto:Python-es@python.org">Python-es@python.org</A><BR>
> <A HREF="http://mail.python.org/mailman/listinfo/python-es">http://mail.python.org/mailman/listinfo/python-es</A><BR>
> FAQ: <A HREF="http://python-es-faq.wikidot.com/">http://python-es-faq.wikidot.com/</A><BR>
_______________________________________________<BR>
Python-es mailing list<BR>
<A HREF="mailto:Python-es@python.org">Python-es@python.org</A><BR>
<A HREF="http://mail.python.org/mailman/listinfo/python-es">http://mail.python.org/mailman/listinfo/python-es</A><BR>
FAQ: <A HREF="http://python-es-faq.wikidot.com/">http://python-es-faq.wikidot.com/</A><BR>
<BR>
<BR>
<BR>
_______________________________________________<BR>
Python-es mailing list<BR>
<A HREF="mailto:Python-es@python.org">Python-es@python.org</A><BR>
<A HREF="http://mail.python.org/mailman/listinfo/python-es">http://mail.python.org/mailman/listinfo/python-es</A><BR>
FAQ: <A HREF="http://python-es-faq.wikidot.com/">http://python-es-faq.wikidot.com/</A><BR>
<BR>
</BLOCKQUOTE>
<BR>
<BR>
</BODY>
</HTML>