Saludos A todos

Vayámonos directo al punto, debo extraer información de unos DBF (si lo sé poco faltó para que fueran tarjetas perforadas), que es en lo que corre la aplicación del día a día y cargar la información a otra base de datos (MySQL). Bueno el detalle es extraer la información precisamente ya que algunas tablas contienen campos del tipo MEMO , estuve probando con varias opciones que encontré por la web (pydbf, dbfpy, dbf y demdbf) y está última me funcionó para leer los "MEMOS".

Ahora bien, estuve haciendo pruebas en la consola de python (Python 2.7.3 para windows x86), cuando tomé esos pequeñas pruebas y las unifiqué en un script indicaba el siguiente error:

   /struct.error: unpack requires a string argument of length 32/

Este es el código que estoy utilizando:

   # -*- coding: utf8 -*-
   #!/usr/bin/env python

   import os
   from demdbf import dbf

   def lee_archivo(file_):

        d_ = dbf()
        d_.open(file_)
        for rec_ in xrange(d_.recordCount-1):
            d_.read(rec_)

   if __name__ == '__main__':
        for root, dirs, files in os.walk('c:\\dbf_xls\\'):
            for file_ in files:
                if file_.find('enc_')!= -1:
                    lee_archivo(os.path.join(root,file_))

Y aquí dejo demdbf.py (http://pastebin.com/SDmEfYGa )

Agradezco de antemano su ayuda.

Saludos desde México.
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a