我的Ubuntu系统上有一堆FoxPro(VFP9)DBF文件,是否有用Python打开这些文件的库?我只需要阅读它们,并且最好也可以访问备忘录字段.
更新:谢谢@cnu,我使用了Yusdi Santoso dbf.py
,它很好用.一个问题:备忘录文件扩展名必须是小写的,即.fpt
不是.FPT
文件名来自Windows的方式.
我更喜欢dbfpy.它支持.DBF
文件的读取和写入,并且可以处理格式的大多数变体.这是我发现的唯一一个可以读取和写入我曾经使用过的旧系统的遗留DBF文件的实现.
我能够使用PyPI http://pypi.python.org/pypi/dbf中的dbf包读取DBF文件(带有关联的BAK,CDX,FBT,TBK文件**).我是python的新手,对DBF文件一无所知,但它很容易从我女朋友的业务中读取一个DBF文件(用一个名为AIMsi的音乐商店POS应用程序创建).
安装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编辑:Per Ethan Furman的评论,我应该指出,除了DBF文件之外,我实际上不知道哪些数据文件是必需的.我第一次运行脚本,只有DBF可用,它抱怨缺少支持文件.所以,我只是复制了BAK,CDX,FPT(不是我在编辑之前说过的FBT),TBK文件然后就可以了.
如果你还在检查这个,我在https://github.com/kstrauser/pgdbf上有一个GPL FoxPro-to-PostgreSQL转换器.我们使用它来定期将表格复制到PostgreSQL中以便快速报告.
您可以在Active State上尝试此配方.
您还可以尝试使用DBFReader模块.
用于支持备忘录字段.
查看http://groups.google.com/group/python-dbase
它目前支持dBase III和Visual Foxpro 6.0 db文件...不确定文件布局是否在VFP 9中更改...