使用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库工作。
答案 0 :(得分:1)
我有同样的错误。
在旧版本的dbf模块中,我能够通过打开它们来编写dbf文件
Tbl.open()
但是,使用新版本(dbf.0.97),我必须打开文件
Tbl.open(mode=dbf.READ_WRITE)
为了能够写出来。
答案 1 :(得分:1)
这是一个附加示例:
table = dbf.Table('sample.dbf', 'cod N(1,0); name C(30)')
table.open(mode=dbf.READ_WRITE)
row_tuple = (1, 'Name')
table.append(row_tuple)