这两天填写毕业生的就业数据,就业数据都是填到dbf文件里。这种文件不能整篇复制粘贴,只能一个格一个格的粘贴,太费时间了。就想到了使用python来处理数据,实现从xlsx文件里读出数据写到dbf文件的相应位置上,这样就节省了复制粘贴的时间。
一、DBF文件的操作
dbf文件的读写使用的是dbf库,安装方式是 pip install dbf
。
主要使用的操作如下:
1、打开文件
table = dbf.Table('filename.dbf')
table.open(mode=dbf.READ_WRITE)
注意open方法的参数,否则的话无法进行写操作。
2、关闭文件
table.close()
3、读取数据
从dbf读取出的文件放在了table变量里,可以通过
for record in table:
遍历整个表里的每行数据。对应的某一格的数据则可以通过键值来访问,使用字典的方式。如:record['Xm']
,访问的是Xm那列的数据。
4、写入数据
with record as rec:
rec[key] = value
注意需要使用with as语法操作数据,否则会报错。
5、代码举例
比如实现如下功能:打开123.dbf文件,将键值“XM”为李四的人的年龄“NL”读出,并改写为35。代码如下:
import dbf
table = dbf.Table('123.dbf')
table.open(mode=dbf.READ_WRITE)
for record in table:
if record['XM'] == '李四':
age = record['NL']
with record as rec:
rec['NL'] = 35
table.close()
二、EXCEL的xlsx文件操作
xlsx文件使用的是openpyxl库,可以使用 pip install openpyxl
安装库。
1、打开文件
wb = openpyxl.load_workbook(file_name)
2、打开标签页
sh = wb[‘Sheet1’]
读取某个单元格的数据
value = sh.cell(row=1,column=1).value
3、关闭文件
wb.close()
4、获取单元格数据
value = sh.cell(row=1,column=1).value
代码举例
实现一下功能:打开“123.xlsx”的文件,然后读取标签页“Sheet1”中第一行第一列的数据。
import openpyxl
wb = openpyxl.load_workbook('123.xlsx')
sh = wb['Sheet1']
value = sh.cell(row=1,column=1).value
wb.close()