문제

Ubuntu 시스템에 FoxPro(VFP9) DBF 파일이 많이 있습니다. Python에서 이를 열 수 있는 라이브러리가 있습니까?나는 그것들을 읽기만 하면 되고 메모 필드에도 접근할 수 있는 것이 바람직합니다.

업데이트:@cnu에게 감사드립니다. Yusdi Santoso의 제품을 사용했습니다. dbf.py 그리고 그것은 잘 작동합니다.한 가지 문제:메모 파일 이름 확장자는 소문자여야 합니다. .fpt, 아니다 .FPT 이것이 Windows에서 파일 이름이 나온 방식입니다.

도움이 되었습니까?

해결책

이것을 시도해 볼 수 있습니다 활성 상태에 대한 레시피.

또 한있다 DBF리더 모듈 시도해 볼 수 있습니다.

지원을 위해 메모 필드.

다른 팁

나는 선호한다 dbfpy.읽기와 쓰기를 모두 지원합니다. .DBF 파일이며 대부분의 형식 변형에 대처할 수 있습니다.이는 제가 작업해 본 일부 이전 시스템의 기존 DBF 파일을 읽고 쓸 수 있는 유일한 구현입니다.

아직도 이것을 확인 중이라면 다음 위치에 GPL FoxPro-PostgreSQL 변환기가 있습니다. https://github.com/kstrauser/pgdbf .우리는 빠른 보고를 위해 정기적으로 테이블을 PostgreSQL에 복사하는 데 이를 사용합니다.

PyPI의 dbf 패키지를 사용하여 DBF 파일(관련 BAK, CDX, FBT, TBK 파일** 포함)을 읽을 수 있었습니다. http://pypi.python.org/pypi/dbf .저는 Python을 처음 접했고 DBF 파일에 대해 아무것도 모르지만 여자 친구의 회사(AIMsi라는 뮤직 스토어 POS 애플리케이션으로 생성됨)에서 DBF 파일을 읽는 데는 쉽게 작동했습니다.

dbf 패키지를 설치한 후(저는 aptitude를 사용하고 dbf 버전 0.88을 설치한 것 같습니다) 다음 Python 코드가 작동했습니다.

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

지금은 그게 제가 아는 전부이지만, 이 질문을 찾는 다른 누군가에게 유용한 시작이 되기를 바랍니다.

2012년 4월 21일 SJK 편집:Ethan Furman의 의견에 따르면 실제로는 모른다는 점을 지적해야 합니다. 어느 DBF 파일 외에 데이터 파일이 필요했습니다.DBF만 사용 가능한 상태에서 처음으로 스크립트를 실행했을 때 지원 파일이 누락되었다고 불평했습니다.그래서 저는 BAK, CDX, FPT(편집 전에 말했듯이 FBT가 아님), TBK 파일을 복사한 다음 작동했습니다.

확인해 보세요 http://groups.google.com/group/python-dbase

현재 dBase III 및 Visual Foxpro 6.0 db 파일을 지원합니다...VFP 9에서 파일 레이아웃이 변경되었는지 확실하지 않습니다.

지금은 2016년이고 dbf 패키지를 작동시키려면 이 패키지를 만지작거려야 했습니다.다음은 dbf 파일을 csv로 내보내는 python3 버전입니다.

import dbf

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

처음에는 유니코드 오류가 있었지만 메모를 꺼서 문제를 해결했습니다.

import dbf

d=dbf.Table('mydbf.dbf', ignore_memos=True)
d.open()
dbf.export(d, filename='mydf_exported.csv', format='csv', header=True)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top