Hva er den enkleste måten å lese en FoxPro DBF fil fra Python?

stemmer
22

Jeg har en haug med FoxPro (VFP9) DBF-filer på min Ubuntu-system, er det et bibliotek for å åpne disse i Python? Jeg trenger bare å lese dem, og ville helst ha tilgang til notatfelt også.

Oppdatering : Takk @cnu, jeg brukte Yusdi Santoso sin dbf.py, og det fungerer fint. En fikser: Notatet filtypen må være små bokstaver, det vil si .fpt, ikke .FPTsom var hvordan filnavnet kom over fra Windows.

Publisert på 01/09/2008 klokken 06:45
kilden bruker
På andre språk...                            


6 svar

stemmer
16

Jeg foretrekker dbfpy . Den støtter både lesing og skriving av .DBFfiler og kan takle de fleste varianter av formatet. Det er den eneste gjennomføringen jeg har funnet ut at både kunne lese og skrive arven DBF-filer av noen eldre systemer jeg har jobbet med.

Svarte 01/09/2008 kl. 13:12
kilden bruker

stemmer
9

Jeg var i stand til å lese en DBF fil (med tilhørende BAK, CDX, FBT, TBK filer **) med dbf pakken fra PyPI http://pypi.python.org/pypi/dbf . Jeg er ny på python og vet ingenting om DBF-filer, men det virket lett å lese en DBF fil fra kjæresten min virksomhet (opprettet med en musikkbutikk POS program kalt AIMsi).

Når du har installert dbf pakken (jeg brukte evner og installert dbf versjon 0.88 tror jeg), jobbet følgende python kode:

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

Det er alt jeg vet nå, men forhåpentligvis er det en nyttig start for noen andre som finner dette spørsmålet!

21 april 2012 SJK Edit: Per Ethan Furman kommentar, må jeg påpeke at jeg faktisk ikke vet hvilke av datafilene var nødvendig, i tillegg til DBF fil. Første gang jeg kjørte skriptet, med bare DBF tilgjengelig, klaget over manglende støtte fil. Så, jeg bare kopierte over BAK, CDX, FPT (ikke FBT som jeg sa før redigere), TBK filer og deretter det fungerte.

Svarte 20/04/2012 kl. 23:33
kilden bruker

stemmer
9

Hvis du fortsatt sjekke dette, har jeg en GPL FoxPro til PostgreSQL omformer på https://github.com/kstrauser/pgdbf . Vi bruker den til å rutinemessig kopiere våre tabeller i PostgreSQL for rask rapportering.

Svarte 17/09/2008 kl. 18:59
kilden bruker

stemmer
7

Du kan prøve denne oppskriften på Active State .

Det er også en DBFReader modul som du kan prøve.

Om støtte til notatfelt .

Svarte 01/09/2008 kl. 07:02
kilden bruker

stemmer
5

Sjekk ut http://groups.google.com/group/python-dbase

Den støtter foreløpig dBase III og Visual FoxPro 6.0 db filer ... ikke sikker på om filen layout endring i VFP 9 eller ikke ...

Svarte 23/02/2009 kl. 17:08
kilden bruker

stemmer
4

Det er 2016 nå, og jeg måtte fikle med dbf pakke for å få det til å fungere. Her er en python3 versjon å bare eksportere en dbf fil til en csv

import dbf

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

Jeg hadde noen unicode feil i starten, men fikk rundt det ved å slå av huskelapper.

import dbf

d=dbf.Table('mydbf.dbf', ignore_memos=True)
d.open()
dbf.export(d, filename='mydf_exported.csv', format='csv', header=True)
Svarte 02/08/2016 kl. 21:18
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more