卡在带有dbf lib的python3中的create dbf文件中。

我尝试了-

import dbf
Tbl = dbf.Table( 'sample.dbf', 'ID N(6,0); FCODE C(10)')
Tbl.open('read-write')
Tbl.append()
with Tbl.last_record as rec:
     rec.ID = 5
     rec.FCODE = 'GA24850000'


并有下一个错误:

Traceback (most recent call last):
  File "c:\Users\operator\Desktop\2.py", line 3, in <module>
    Tbl.open('read-write')
  File "C:\Users\operator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\dbf\__init__.py", line 5778, in open
    raise DbfError("mode for open must be 'read-write' or 'read-only', not %r" % mode)
dbf.DbfError: mode for open must be 'read-write' or 'read-only', not 'read-write'


如果即时通讯删除“读写”-接下来:

Traceback (most recent call last):
  File "c:\Users\operator\Desktop\2.py", line 4, in <module>
    Tbl.append()
  File "C:\Users\operator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\dbf\__init__.py", line 5492, in append
    raise DbfError('%s not in read/write mode, unable to append records' % meta.filename)
dbf.DbfError: sample.dbf not in read/write mode, unable to append records


多数民众赞成我做错了吗?如果我不尝试追加,我只获取带有正确列的.dbf,因此dbf库有效。

最佳答案

我有同样的错误。
在旧版本的dbf模块中,我可以通过仅使用以下命令打开dbf文件来编写这些文件:
Tbl.open()

但是,对于新版本(dbf.0.97),我必须使用
Tbl.open(mode=dbf.READ_WRITE)
为了能够写它们。

关于python - 无法写入dbf文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49314270/

10-12 17:57