我正在寻找在 python 中开发一个需要搜索 dBase III 数据库文件(DBF)的应用程序。我一直在寻找一段时间,但我找不到任何关于如何做到这一点的好文档。我试过使用 DBFpy,但找不到任何关于如何索引/搜索列的文档。我也尝试遵循此线程中的建议,但显然我的 DBF 文件已“关闭”。我查看了此处列出的调用,但无法确定如何“打开”文件。任何人都可以推荐一个 python 模块来处理带有文档的 DBF 文件,或者指导我如何正确使用其他 DBF python 模块。谢谢!
问问题
11410 次
1 回答
6
使用我的 dbf 模块,基本流程类似于:
import dbf
some_table = dbf.Table('/path/to/table.dbf') # table is closed
some_table.open()
index = some_table.create_index(record_indexer)
.
.
.
records = index.search(match=(some_value,)) # returns a dbf.List of matching records
并且record_indexer
是返回适当索引值的函数;它可以很简单
lambda rec: rec.desired_field
或根据您的需要复杂:
def record_indexer(record):
if record.that_field == 'bad value':
return dbf.DoNotIndex # record is ignored
return record.this_field, record.other
于 2012-12-23T18:16:51.407 回答