首页 / 知识

从Python读取FoxPro DBF文件的最简单方法是什么?

2023-04-13 19:25:00

从Python读取FoxPro DBF文件的最简单方法是什么?

What's the easiest way to read a FoxPro DBF file from Python?

我的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文件一无所知,但是从女朋友的业务(使用名为AIMsi的音乐商店POS应用程序创建)读取DBF文件很容易。

安装dbf软件包(我认为使用aptitude并安装了dbf版本0.88)之后,以下python代码起作用了:

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

这就是我目前所知道的,但希望这对发现此问题的其他人是一个有用的开始!

April 21, 2012 SJK Edit: Per Ethan Furman's comment, I should point out that I actually don't know which of the data files were necessary, besides the DBF file. The first time I ran the script, with only the DBF available, it complained of a missing support file. So, I just copied over the BAK, CDX, FPT (not FBT as I said before edit), TBK files and then it worked.


如果您仍在进行检查,则可以在https://github.com/kstrauser/pgdbf上找到一个GPL FoxPro-PostgreSQL转换器。我们使用它定期将表复制到PostgreSQL中以进行快速报告。


您可以在活动状态下尝试此食谱。

您还可以尝试使用DBFReader模块。

支持备注字段。


现在是2016年,我不得不弄弄dbf软件包才能使其正常工作。这是仅将dbf文件导出到csv的python3版本

1
2
3
4
5
import dbf

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

一开始我遇到了一些unicode错误,但是通过关闭备忘录来解决了这个问题。

1
2
3
4
5
import dbf

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

查看http://groups.google.com/group/python-dbase

它目前支持dBase III和Visual Foxpro 6.0 db文件...不确定文件布局是否在VFP 9中更改...


文件读取方法系统

最新内容

相关内容

热门文章

推荐文章

标签云

猜你喜欢