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/

Responder a