[Python-es] Buscar campo mysql

Rubén parraymartinez en terra.es
Vie Feb 19 01:23:56 CET 2010


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.hep en gmail.com>
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>
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 <parraymartinez en 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:'correo en 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 <marmolro en gmail.com>
        
        
        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>
        Asunto: Re: [Python-es] Buscar campo mysql
        
        
        Fecha: Thu, 18 Feb 2010 22:55:51 +0100
        
        
        
        
        
        
        2010/2/18 Rubén <parraymartinez en 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 correo en correo.com y quitar
                "{mail_uno:", "}", o que sólo me salga el valor
                corre en 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.radicaled en gmail.com>
                
                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>
                
                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 <parraymartinez en terra.es> 
                
                        Perdón, sí me imprime el resultado, pero no sólo
                        el valor: {'mail_uno': 'correo en 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 <parraymartinez en terra.es>
                        
                        Reply-to: La lista de python en castellano
                        <python-es en python.org>
                        
                        Para: RadicalEd <willian.radicaled en gmail.com>
                        Cc: La lista de python en castellano
                        <python-es en 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.radicaled 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: Thu, 18 Feb 2010 13:58:37 -0500
                        
                        registro.execute("SELECT mail_uno FROM datos
                        WHERE hostname = '%s'" % nombre.value)
                        
                        2010/2/18 parraymartinez en terra.es
                        <parraymartinez en terra.es>
                        
                                
                                
                                >----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/
                                
                        
                        
                        
                        
                        -- 
                        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
                        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/
                        
                
                
                
                
                -- 
                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
                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/
                
        
        
        
        
        Lo que tienes entre manos es un diccionario, por lo que para
        acceder al valor lo haces por la clave: 
        
        >>> {'mail_uno': 'correo en correo.com'}['mail_uno']
        'correo en 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 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/
        



-- 
Insurrection is an art, and like all arts has its own laws. Leon Trotsky

_______________________________________________
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/b4e28434/attachment.html>


Más información sobre la lista de distribución Python-es