使用Python dbf库创建FoxPro 2.6数据表遇类型不支持错误求助
解决dbf库创建FoxPro 2.6格式DBF时的"Unsupported dbf type"报错
你遇到的问题根源在于:在dbf库0.97.0版本中,dbf_type='fp'并不是FoxPro 2.6格式的有效标识参数。这个版本对FoxPro 2.6的正确类型标识是'fp2'或者'foxpro'。
修正后的代码示例
import dbf # 使用'fp2'指定FoxPro 2.6格式 table = dbf.Table('test', 'TEST C(40); TEST2 N(3,0); TEST3 C(3)', dbf_type='fp2') table.open(mode=dbf.READ_WRITE) # 后续可执行添加记录等操作,比如: # table.append(('示例文本', 999, 'XYZ')) # 操作完成后记得关闭表 table.close()
更安全的使用方式(上下文管理器)
推荐用上下文管理器自动处理表的打开和关闭,避免遗漏关闭操作导致的资源问题:
import dbf with dbf.Table('test', 'TEST C(40); TEST2 N(3,0); TEST3 C(3)', dbf_type='fp2') as table: # 在上下文内执行表操作 table.append(('Hello FoxPro', 123, 'ABC'))
验证支持的DBF类型
如果不确定可用的类型标识,还可以通过以下代码查看当前dbf库支持的所有合法类型:
import dbf print(dbf.types())
执行后会输出所有有效的dbf_type参数值,你可以从中确认FoxPro相关的标识细节。
内容的提问来源于stack exchange,提问作者VaNa
相关产品推荐
相关产品推荐

