[使用Python在DBF字段内添加值

问题描述 投票:0回答:1

我想创建一个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()
python dbf
1个回答
0
投票

稍微整理一下代码后,您需要的是这样的东西:

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'                                                  '
© www.soinside.com 2019 - 2024. All rights reserved.