[pyar] Leer archivo dbase

Andrés Gattinoni andresgattinoni en gmail.com
Mie Oct 6 18:32:36 ART 2010


Cómo va gente?

Les hago una consulta que no es exclusivamente de Python, pero como
acá hay gente muy capaz, quizás me puedan ayudar.

Versión corta:

Tengo unos archivos viejos que parecen contener datos en alguna
versión de DBase, posiblemente la 6. Necesito poder leerlos con algo.
Probé con dbview, pero me tira el error "Version 6 not supported".
También me bajé dbfpy [0] pero al usarlo tengo este error:

$ cat read.py
from dbfpy import dbf
db = dbf.Dbf('SCBMOV.DAT')
print db

$ python read.py
Traceback (most recent call last):
  File "read.py", line 2, in <module>
    db = dbf.Dbf('SCBMOV.DAT')
  File "/usr/local/lib/python2.6/dist-packages/dbfpy/dbf.py", line
135, in __init__
    self.header = self.HeaderClass.fromStream(self.stream)
  File "/usr/local/lib/python2.6/dist-packages/dbfpy/header.py", line
120, in fromStream
    (_year, ord(_data[2]), ord(_data[3])))
  File "/usr/local/lib/python2.6/dist-packages/dbfpy/header.py", line
89, in __init__
    self.lastUpdate = getDate(lastUpdate)
  File "/usr/local/lib/python2.6/dist-packages/dbfpy/utils.py", line
75, in getDate
    return datetime.date(*date[:3])
ValueError: month must be in 1..12

Alguna idea de con qué lo puedo leer en linux?

Versión un poco más larga:

Me pidieron que vea si puedo arreglar un muy viejo programa de
facturación hecho a medida para una institución. El programa corre en
una máquina muy vieja con DOS. Pude obtener los archivos .DAT que es
donde creo que está el problema y necesito leerlos de alguna forma. No
estoy seguro ni siquiera en qué está programado el software (Basic o
VB, seguramente... veo por ahí que hay un BASRUN.EXE que me da esa
idea). Y por el error que me da dbview asumo que es DBase VI, pero a
ciencia cierta no lo sé.

Yo trabajo con Linux (Ubuntu), así que necesitaría encontrar alguna
forma de poder leer esa DB desde Linux. Es factible?
No necesita ser algo óptimo, porque solo lo quiero abrir para ver si
me doy cuenta de por dónde anda el problema.

Gracias!

Andrés

[0] http://dbfpy.sourceforge.net/



More information about the pyar mailing list