[Python-es] STRUCT ERROR DBF
Manuel Estevez
stvzito en gmail.com
Jue Sep 12 01:31:42 CEST 2013
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.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20130911/50a0b3b2/attachment.html>
Más información sobre la lista de distribución Python-es