python操作DBF文件(也称做数据库文件)

最近遇到一道面试题,用python3实现如下功能:有两个dbf文件1.dbf,2.dbf,将2.dbf文件中的数据插入到1.dbf中,重复数据无需插入。上网查了很多资料,看了很多外置库排了一些坑。
外部库 适用python版本 实现功能
pdfpy python2.x 可以对DBF文件进行写入
dbfread python2.x/3.x 可以对DBF文件的读取,删除
xlwt python2.x/3.x 可以对DBF文件进行写入
openpyxl python2.x/3.x 不可以对DBF文件进行读取
xlrd python2.x/3.x 不可以对DBF文件进行读取
xlsxwriter python2.x/3.x 还没试

总结:想要通过python3实现对DBF文件的读写,可以通过dbfread和xlwt这两个外置库。

知道了使用哪些库,那么面试题就解决了一大半。

from dbfread import DBF
import xlwt

table1=DBF('E:\pythoninterviewquestions\SCD_98_601_20200327_DJ.DBF',encoding='gbk',char_decode_errors='ignore')
table2=DBF('E:\pythoninterviewquestions\SCD_98_601_20200327_DJ_add.DBF')

list1=[table1,table2]
data=[]
row1=()

for i in list1:
    for rows in i:
        row1 =tuple(rows.keys())
        temp=tuple(rows.values())
        if temp not in data:
            data.append(temp)

data.insert(0,row1)
# print(data)
# print(len(data))

#向meng_three.DBF写入
wb = xlwt.Workbook() #创建工作薄
f = wb.add_sheet('class1') #创建工作表

for i in range(len(data)):
    for j in range(len(row1)):
        f.write(i,j,data[i][j])

wb.save('E:\pythoninterviewquestions\meng_three.DBF')
  • 2
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值