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 <%27cor...@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 <marmolro%20%3cmarmo...@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<la%20lista%20de%20python%20en%20castellano%20%3cpython...@python.org%3e> > > > *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<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<la%20lista%20de%20python%20en%20castellano%20%3cpython...@python.org%3e> > > > > *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 <%27cor...@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<%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*: RadicalEd > <willian.radica...@gmail.com<radicaled%20%3cwillian.radica...@gmail.com%3e> > > > *Cc*: La lista de python en castellano > <python-es@python.org<la%20lista%20de%20python%20en%20castellano%20%3cpython...@python.org%3e> > > > > *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<radicaled%20%3cwillian.radica...@gmail.com%3e> > > > *Para*: parraymarti...@terra.es > <parraymarti...@terra.es<%22parraymarti...@terra.es%22%20%3cparraymartinez@terra.es%3e>>, > La lista de python en castellano > <python-es@python.org<la%20lista%20de%20python%20en%20castellano%20%3cpython...@python.org%3e> > > > *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<3d%253fiso-8859-1%253fq%253frub%253de9n%253f%253d%2520%253cparraymarti...@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<la%2520lista%2520de%2520python%2520en%2520castellano%2520%253cpython...@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<radicaled%2520%253cwillian.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<la%2520lista%2520de%2520python%2520en%2520castellano%2520%253cpython...@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 > listpython...@python.orghttp://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 > listpython...@python.orghttp://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 > listpython...@python.orghttp://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/