Python ';FieldMissingError';尝试写入行时

Python ';FieldMissingError';尝试写入行时,python,python-3.x,dbf,Python,Python 3.x,Dbf,我一直在一个字段(“几个id”)上得到一个FieldMissingError,我确信它存在。我已经检查了veru_33.py,它显示如果字段不在self.\u meta.fields中,则会触发异常 表._meta.fields显示了存在的字段: print(table._meta.fields) >>> ['proj_code', 'severa_id', 'rec_id', 'ext_key'] >>> 这是我正在尝试的代码: table = dbf

我一直在一个字段(“几个id”)上得到一个FieldMissingError,我确信它存在。我已经检查了veru_33.py,它显示如果字段不在self.\u meta.fields中,则会触发异常

表._meta.fields显示了存在的字段:

print(table._meta.fields)
>>> 
['proj_code', 'severa_id', 'rec_id', 'ext_key']
>>> 
这是我正在尝试的代码:

table = dbf.Table(path_to_dbf)

table.open()

for row in dbf.Process(table):
    for project in projects:
        if str(row.proj_code)[0:4] == project["ProjectNumber"]:
            row.write_record(severa_id=project["GUID"])
我还尝试了以下设置字段的方法:

row.severa_id = project["ProjectNumber"]
#row.write()
row.write_record()
最后,我还尝试设置其他每个字段(使用随机字符串),这会导致相同的错误

编辑:我正在使用dbf模块()

编辑:原始回溯:

Traceback (most recent call last):
File "<string>", line 420, in run_nodebug
File "C:\Users\Alexander\Documents\update_projecten\update_dbf.py", line 58, in <module>
row.write()
File "C:\Users\Alexander\Envs\vfp\lib\site-packages\dbf\ver_33.py", line    2451, in __getattr__
raise FieldMissingError(name)
dbf.ver_33.FieldMissingError: 'write:  no such field in table'

write\u record
不再作为行方法存在,因此您看到的错误可能是说明
write\u record
不是字段

相反,请尝试:

dbf.write(severa_id=project['GUID'])

请确保在将来包含实际的回溯——您可能会更快地得到帮助。我不敢相信我忘记了这么做,并补充说我以前尝试过,但这会导致错误“AttributeError:‘vptable’对象没有属性‘write’”。这可能与它是一个VisualFoxPro表这一事实有关吗?@AlexanderL92:Argh,对不起——它应该是
dbf.write
;更新的答案。谢谢,这很有效(稍加编辑)。我将为其他可能有同样问题的人发布最终脚本。
dbf.write(severa_id=project['GUID'])