使用python脚本“自动化”年鉴通讯录更新
-
0目标:将1号表格的数据更新在2号表格
需要处理的excel文件:
标准表格,更新数据从这获取,记为1.xslx
需要数据更新的表格,记为2.xslx
1安装库openpyxl
- 保证有Python环境
- 安装库
pip install openpyxl
3导入包
import openpyxl from openpyxl import load_workbook
什么是openpyxl?
- 一个处理电子表格的python库
- 官方文档参考:https://openpyxl.readthedocs.io
- 一篇浅显易懂的教程:https://automatetheboringstuff.com/chapter12/
2获取表格数据
打开1.xslx文件
wb1=load_workbook('./1.xlsx')
获取表格
sheet1= wb1.get_sheet_by_name('Sheet1')
提取行和列数据
tuple1=tuple(sheet1['A1':'G493'])
同样的,获取2.xslx文件数据
wb2=load_workbook('./2.xlsx') sheet2= wb2.get_sheet_by_name('Sheet1') tuple2=tuple(sheet2['A1':'I619'])
tuple转化为list
list1=list(tuple1) list2=list(tuple2)
3对比表格,更新数据
for a in list1:#循环1文件 for b in list2:#循环2文件 if(a[0].value==b[0].value):#匹配表格档案号 if(b[1].value!=a[1].value):#若表格2和表格1中姓名不一致 b[1].value=a[1].value#更新表格2中数据 if(b[2].value!=a[2].value):#若表格2和表格1中ID不一致 b[2].value=a[2].value#更新表格2中数据 if(b[3].value!=a[3].value): b[3].value=a[3].value if(b[4].value!=a[4].value): b[4].value=a[4].value if(b[5].value!=a[5].value): b[5].value=a[5].value if(b[7].value!=a[6].value):#若表格2和表格1中单位不一致 b[7].value=a[6].value#更新表格2中数据
4写入文件
保存修改信息到文件
wb2.save(r'./2.xlsx')
5最后
新人发稿,请各位大佬多多关照!
-
@zdw 建议去学一下pandas
-
此回复已被删除!
-
@zkhust 好的,多谢学长指教