introducir fichero desde python en mysql

Javier Majado adminies.reinoaftasi en edu.juntaextremadura.net
Lun Jun 11 08:27:09 CEST 2007


def leerficheroEinserMysql():
file = open(fichero, 'r')
        info = file.readline()
        file.close()
for linea in info:
d = split(info, ';')

IDRECETA = d[0]
NOMRECETA = d[1]
...
ULTIMOCAMPO = d[N]

sql = "insert into Recetas (IDRECETA , NOMRECETA , ... , ULTIMOCAMPO )
values (%s , %s, ..., %s)

cursor.execute(sql, (d[0], d[1], ..., d[n])


El vie, 08-06-2007 a las 09:33 +0000, joana salgado gomez escribió: 
>    me podrias decir un ejmplo sencillo de esto lo he intentado tambien y
>    no me ha salido, quiza haga algo mal.
> 
> 
>    Muchisimas gracias por tu ayuda.
>        ______________________________________________________________
> 
>      From:  Javier Majado
>      <adminies.reinoaftasi en edu.juntaextremadura.net>
>      Reply-To:  La lista de python en castellano <python-es en aditel.org>
>      To:  La lista de python en castellano <python-es en aditel.org>
>      Subject:  Re: [Python-es] introducir fichero desde python en mysql
>      Date:  Fri, 08 Jun 2007 11:00:29 +0200
>      >En mis tiempos de trabajos con Host (DB2) para realizar un load
>      desde un
>      >fichero, los campos debÃan tener el mismo tipo y longitud que la
>      >información "pasada" por load.
>      >
>      >Por lo tanto y viendo tu fichero, me decanto por decir que el
>      mysql no
>      >reconoce tu primer campo IDRECETA, pues que utilizas como
>      separador de
>      >campos, el "espacio en blanco"?.
>      >
>      >No te interesa más leer las lÃneas del fichero y repartir la
>      información
>      >entre todos los campos de tu tabla.
>      >
>      >saludos
>      >
>      >El vie, 08-06-2007 a las 08:45 +0000, joana salgado gomez
>      escribió:
>      > >    Hola a todos!!!!
>      > >    >   Estoy intentando volcar un fichero este fichero en una
>      tabla de
>      > >    >mysql
>      > >    >   in.txt
>      > >    >   3   Jamon con queso   Cortar el jamon en tacos para
>      poder. . .
>      > >    >   . . . (Aqui siguen mas filas)
>      > >    >   para ello he hecho la siguiente funcion:
>      > >    >
>      > >    >
>      > >    >   import MySQLdb
>      > >    >   def accesoBase():
>      > >    >       db = MySQLdb.connect(host='localhost', user='joana',
>      > >    >   passwd='joana', db='prueba')
>      > >    >       cursor = db.cursor()
>      > >    >       sql='LOAD DATA INFILE "C:/Python24/in.txt" INTO
>      TABLE
>      > >    >   prueba_receta'
>      > >    >       cursor.execute(sql)
>      > >    >      db.close()
>      > >    >
>      > >    >   No intoduce el contenido de la tabla en fichero y ademas
>      me da el
>      > >    >   siguiente error!!
>      > >    >
>      > >    >   Traceback (most recent call last):
>      > >    >     File "<pyshell#35>", line 1, in -toplevel-
>      > >    >       accesoBase()
>      > >    >     File "C:\Python24\AccesoBase.py", line 16, in
>      accesoBase
>      > >    >       cursor.execute(sql)
>      > >    >     File
>      "C:\Python24\Lib\site-packages\MySQLdb\cursors.py", line
>      > >    >166,
>      > >    >   in execute
>      > >    >       self.errorhandler(self, exc, value)
>      > >    >     File
>      "C:\Python24\Lib\site-packages\MySQLdb\connections.py",
>      > >    >line
>      > >    >   35, in defaulterrorhandler
>      > >    >       raise errorclass, errorvalue
>      > >    >   DataError: (1265, "Data truncated for column 'IDRECETA'
>      at row
>      > >    >1")
>      > >    >
>      > >    >
>      > >    >   IDRECETA es el primer campo de la tabla.Que estoy
>      haciendo mal??
>      > >    He intentado a cambiar
>      > >
>      > >    el load por una sentencia insert y no me da erro pero
>      tampoco me la
>      > >    inserta en la tabla de la base de datos, el usuario tiene
>      privilegios
>      > >    concedido para ello que puede ser???
>      >
>      >        __________________________________________________________
>      ____
>      >
>      >      ____________________________________________________________
>      _____
>      > >
>      > >    Encuentra una aventura, un romance o al amor de tu vida.
>      [1]Date de
>      > >    alta gratis.
>      > >
>      > > References
>      > >
>      > >    1. http://g.msn.com/8HMAESES/2737??PS=47575
>      > > _______________________________________________
>      > > Python-es mailing list
>      > > Python-es en aditel.org
>      > > http://listas.aditel.org/listinfo/python-es
>      >
> 
>      >_______________________________________________
>      >Python-es mailing list
>      >Python-es en aditel.org
>      >http://listas.aditel.org/listinfo/python-es
>      _________________________________________________________________
> 
>    Tu horóscopo diario, semanal y gratuito. [1]Cartas, tarot y
>    predicciones en MSN Horóscopo
> 
> References
> 
>    1. http://g.msn.com/8HMAESES/2728??PS=47575
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


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