Pregunta

Tengo un montón de archivos DBF de FoxPro (VFP9) en mi sistema Ubuntu, ¿hay alguna biblioteca para abrirlos en Python?Solo necesito leerlos y preferiblemente también tendría acceso a los campos de la nota.

Actualizar:Gracias @cnu, usé el de Yusdi Santoso. dbf.py y funciona muy bien.Un problema:La extensión del nombre del archivo de nota debe estar en minúsculas, es decir. .fpt, no .FPT Así fue como llegó el nombre del archivo desde Windows.

¿Fue útil?

Solución

Puedes probar esto receta en estado activo.

También hay una Módulo DBFReader que puedes probar.

Para apoyo a campos de notas.

Otros consejos

yo prefiero dbfpy.Admite lectura y escritura de .DBF archivos y puede hacer frente a la mayoría de las variaciones del formato.Es la única implementación que encontré que puede leer y escribir los archivos DBF heredados de algunos sistemas más antiguos con los que he trabajado.

Si todavía estás revisando esto, tengo un conversor GPL de FoxPro a PostgreSQL en https://github.com/kstrauser/pgdbf .Lo usamos para copiar rutinariamente nuestras tablas en PostgreSQL para generar informes rápidos.

Pude leer un archivo DBF (con archivos BAK, CDX, FBT, TBK asociados **) usando el paquete dbf de PyPI http://pypi.python.org/pypi/dbf .Soy nuevo en Python y no sé nada sobre archivos DBF, pero funcionó fácilmente para leer un archivo DBF del negocio de mi novia (creado con una aplicación POS de una tienda de música llamada AIMsi).

Después de instalar el paquete dbf (creo que usé aptitude e instalé la versión 0.88 de dbf), funcionó el siguiente código de Python:

from dbf import *
test = Table("testfile.dbf")
for record in test:
    print record
    x = raw_input("")  # to pause between showing records

Eso es todo lo que sé por ahora, pero espero que sea un comienzo útil para alguien que encuentre esta pregunta.

21 de abril de 2012 SJK Editar:Según el comentario de Ethan Furman, debo señalar que en realidad no lo sé. cual Fueron necesarios todos los archivos de datos, además del archivo DBF.La primera vez que ejecuté el script, con solo el DBF disponible, se quejó de que faltaba un archivo de soporte.Entonces, simplemente copié los archivos BAK, CDX, FPT (no FBT como dije antes de editar), TBK y luego funcionó.

Verificar http://groups.google.com/group/python-dbase

Actualmente admite archivos db dBase III y Visual Foxpro 6.0...No estoy seguro si el diseño del archivo cambia en VFP 9 o no...

Estamos en 2016 y tuve que trastear con el paquete dbf para que funcionara.Aquí hay una versión de Python3 para simplemente exportar un archivo dbf a un csv

import dbf

d=dbf.Table('mydbf.dbf')
d.open()
dbf.export(d, filename='mydf_exported.csv', format='csv', header=True)

Al principio tuve algún error Unicode, pero lo solucioné desactivando las notas.

import dbf

d=dbf.Table('mydbf.dbf', ignore_memos=True)
d.open()
dbf.export(d, filename='mydf_exported.csv', format='csv', header=True)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top