我想创建一个dbf文件,然后使用python向其添加字段和值。我可以创建dbf文件和字段,但不知道如何在相应字段内添加值。我有一个庞大的数据集可以执行此操作,这就是为什么我要使用循环。这只是数据示例。使用此代码,将创建dbf并添加字段,但不添加这些字段中的值。任何帮助,将不胜感激。
import dbf
dctClmVal ={'a':'19', 'b':'76', 'c':'59', 'd':}
lstFields = ['a','b','c','d']
out_dbf_Path= r"C:\Users\ms\Stats\new.dbf"
db=dbf.Table(out_dbf_Path)
db.open(mode= dbf.READ_WRITE)
for clm in lstFields:
db.add_fields( clm + " C(50)")
for field in lstFields:
if(field.upper() in db.field_names):
db.append({'field=dctClmVal[field]'})
db.close()
稍微整理一下代码后,您需要的是这样的东西:
import dbf
records = ({'a':'19', 'b':'76', 'c':'59', }, )
lstFields = ['a C(50)','b C(50)','c C(50)','d C(50)']
out_dbf_Path= "new.dbf"
db = dbf.Table(out_dbf_Path, lstFields)
db.open(mode=dbf.READ_WRITE)
for dctClmVal in records:
db.append(dctClmVal)
db.close()
并阅读您写的内容:
>>> with db:
... print db[0]
...
0 - a : u'19 '
1 - b : u'76 '
2 - c : u'59 '
3 - d : u' '