从Python读取FoxPro DBF文件的最简单方法是什么?
我在我的Ubuntu系统上有一堆FoxPro (VFP9)的DBF文件,请问有没有什么库可以在Python中打开这些文件?我只需要读取这些文件,最好还能访问到备忘字段。
更新:感谢@cnu,我使用了Yusdi Santoso的dbf.py
,效果很好。有一点需要注意:备忘文件的扩展名必须是小写的,也就是.fpt
,而不是.FPT
,因为文件名是从Windows系统过来的时候是大写的。
6 个回答
13
我用Python的一个叫dbf的包,成功读取了一个DBF文件(还有相关的BAK、CDX、FBT、TBK文件**)。我刚开始学Python,对DBF文件一点都不了解,但我顺利地从我女朋友的生意中读取了一个DBF文件(这个文件是用一个叫AIMsi的音乐商店销售点应用程序创建的)。
在安装了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文件都复制过来了,然后它就能正常工作了。
17
我更喜欢使用 dbfpy。这个工具可以读取和写入 .DBF
文件,而且能处理大多数格式的不同版本。我发现它是唯一一个能够同时读取和写入我曾经接触过的一些旧系统的遗留 DBF 文件的工具。
8