[ 路丁前言 ] dbf数据库查询做为一种简易的数据库查询,以前普遍应用。现在在金融业行业還是有很多的运用之处,工作上碰到该类的难题,在这里纪录一下。
1. 载入dbf
'''载入DBF文档'''def readDbfFile(filename): table = dbfread.DBF(filename, encoding='GBK') for field in table.fields: print(field) for record in table: for field in record: print(field, record[field]) for delete_record in table.delete: print(delete_record)
必须倒进外界库:
import dbfread
编码表述:
上边的事例各自载入了dbf的列头,所有的纪录和删掉的纪录
此方式 ,python2.x和python3.x全是通用性的。
2. 写dbf
'''写DBF文档@filename 文件夹名称@header 列头@content 內容'''def writeDbfFile(filename, header, content): # 开启dbf db = dbf.Dbf(filename, new=True) # 写列头 for field in header: # 这里必须改为长短能配的,长短过短会造成 数据信息被断开 if type(field) == unicode: field = field.encode('GBK') db.addField((field, 'C', 20)) # 写数据信息 for record in content: rec = db.newRecord() for key, value in itertools.izip(header, record): if type(value) == unicode: rec[key] = value.encode('GBK') else: rec[key] = value rec.store() # 关掉文本文档 db.close()
必须的外界库:
from dbfpy import dbf
编码表述:
写dbf的流程,先在建一个dbf文件,先载入列头,随后每一次增加一条纪录,载入纪录;最终关掉dbf文件。
此方式 python2.x能用
评论