Sí, creo que es la mejor forma de aprender... ¿Cómo lo haría entonces?
Gracias y un saludo. -------------------- Rubén http://foroubuntu.es -----Mensaje original----- De: Jose Caballero <jcaballero....@gmail.com> Reply-to: La lista de python en castellano <python-es@python.org> Para: La lista de python en castellano <python-es@python.org> Asunto: Re: [Python-es] Buscar campo mysql Fecha: Thu, 18 Feb 2010 19:05:31 -0500 fetchone() devuelve una tupla, no un diccionario. Una pregunta, sólo por curiosidad, ¿te has puesto a programar eso sin saber absolutamente nada de python ni de SQL? El 18 de febrero de 2010 18:43, Rubén <parraymarti...@terra.es> escribió: Gracias malmolro, Llevo horas leyendo sobre los diccionarios en Python pero no hay manera. Lo he probado casi todo pero siempre me da algún error. Entiendo que en registro.execute("SELECT mail_uno FROM datos WHERE hostname = '% s'" % nombre.value) resu = registro.fetchone() print repr(resu) Entiendo que "resu" vendría a ser el diccionario {mail_uno:'cor...@correo.com'} Pero si pongo resu['mail_uno'] me da error. He leído lo que me has pasado y tropecientas páginas más pero no consigo sacar sólo la dirección de mail. PD: Perdón por la falta de netiqueta, pero si la seguimos a veces sí a veces no se hace ininteligible. Gracias sinceras por vuestra ayuda. Si sabéis por donde puedo buscar o cómo hacerlo... Estoy desesperado. Un saludo. -------------------- Rubén http://foroubuntu.es -----Mensaje original----- De: marmolro <marmo...@gmail.com> Reply-to: La lista de python en castellano <python-es@python.org> Para: La lista de python en castellano <python-es@python.org> Asunto: Re: [Python-es] Buscar campo mysql Fecha: Thu, 18 Feb 2010 22:55:51 +0100 2010/2/18 Rubén <parraymarti...@terra.es> Perdón, me he colado... No quería decir array, no se porqué he puesto eso. Mil disculpas, no me he explicado nada bien;-) Me refería a dejar sólo cor...@correo.com y quitar "{mail_uno:", "}", o que sólo me salga el valor co...@correo.com en "resu" Gracias de nuevo -sobre todo por la paciencia- y un saludo. -------------------- Rubén http://foroubuntu.es -----Mensaje original----- De: RadicalEd <willian.radica...@gmail.com> Reply-to: La lista de python en castellano <python-es@python.org> Para: La lista de python en castellano <python-es@python.org> Asunto: Re: [Python-es] Buscar campo mysql Fecha: Thu, 18 Feb 2010 15:51:31 -0500 En python no existen los arrays, se llaman listas, si quieres agregar un valor a una lista primero debes crearla y luego irle asignando valores, me imágino que recorres tú tupla por un for entonces lo harías algo así: lista = [] for h in range(1, 10): lista.append(h) Solo cambia el h por tú registro de correo. 2010/2/18 Rubén <parraymarti...@terra.es> Perdón, sí me imprime el resultado, pero no sólo el valor: {'mail_uno': 'cor...@correo.com'} Bueno, ¡voy avanzado! ¿Cómo hago para hacer un array con sólo la dirección de mail? ¡Muchas gracias! -------------------- Rubén http://foroubuntu.es -----Mensaje original----- De: Rubén <parraymarti...@terra.es> Reply-to: La lista de python en castellano <python-es@python.org> Para: RadicalEd <willian.radica...@gmail.com> Cc: La lista de python en castellano <python-es@python.org> Asunto: Re: [Python-es] Buscar campo mysql Fecha: Thu, 18 Feb 2010 20:37:32 +0100 Gracias, RadicalED Ahora no me da error, pero al imprimir en pantalla con resu = registro.fetchall() print repr(resu) no me aparece el valor del campo sino (). Si cambio fetchall por fetchone me aparece None Sigo haciendo algo mal... -------------------- Rubén http://foroubuntu.es -----Mensaje original----- De: RadicalEd <willian.radica...@gmail.com> Para: parraymarti...@terra.es <parraymarti...@terra.es>, La lista de python en castellano <python-es@python.org> Asunto: Re: [Python-es] Buscar campo mysql Fecha: Thu, 18 Feb 2010 13:58:37 -0500 registro.execute("SELECT mail_uno FROM datos WHERE hostname = '%s'" % nombre.value) 2010/2/18 parraymarti...@terra.es <parraymarti...@terra.es> >----Mensaje original---- >De: dam...@gmail.com >Fecha: 18/02/2010 1:12 >Para: "La lista de python en castellano"<python-es@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 <parraymarti...@terra.es > <mailto:%3d%3fISO-8859-1%3fQ%3fRub% 3de9n%3f%3d%20%3cparraymarti...@terra.es %3e>> > *Reply-to*: La lista de python en castellano <python-es@python.org> > *Para*: La lista de python en castellano <python-es@python.org > <mailto:La%20lista%20de%20python%20en% 20castellano%20%3cpython...@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.radica...@gmail.com > <mailto:RadicalEd%20% 3cwillian.radica...@gmail.com%3e>> > *Reply-to*: La lista de python en castellano <python-es@python.org> > *Para*: La lista de python en castellano <python-es@python.org > <mailto:La%20lista%20de%20python%20en% 20castellano%20%3cpython...@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 <parraymarti...@terra.es <mailto:parraymarti...@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@python.org <mailto:Python-es@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@python.org <mailto:Python-es@python.org> > http://mail.python.org/mailman/listinfo/python-es > FAQ:http://python-es-faq.wikidot.com/ > _______________________________________________ > Python-es mailing list > Python-es@python.org <mailto:Python-es@python.org> > http://mail.python.org/mailman/listinfo/python-es > FAQ:http://python-es-faq.wikidot.com/ > > > > _______________________________________________ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ _______________________________________________ Python-es mailing list Python-es@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@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ _______________________________________________ Python-es mailing list Python-es@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@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ Lo que tienes entre manos es un diccionario, por lo que para acceder al valor lo haces por la clave: >>> {'mail_uno': 'cor...@correo.com'}['mail_uno'] 'cor...@correo.com' Un poco de lectura no viene mal: http://docs.python.org/tutorial/datastructures.html#dictionaries http://es.wikipedia.org/wiki/SQL Un saludo, _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ -- Insurrection is an art, and like all arts has its own laws. Leon Trotsky _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/