1.需求分析:

1.对比两个excel表格中相同列的数据,表格A,表格B

2.A--表格有gbid(20位数字),name-设备名字

3.B--表格有gbid(20位数字),name-设备名字也有类似的位置信息

要求:

1.找出表格a与表格b中相同的数据【判断依据是gbid,如果gbid相同就是认为是一个数据】

2.找出表格a中有的数据,但是表格b中没有的数据【判断依据是gbid,如果gbid相同就是认为是一个数据】

3.找出表格b中有的数据,但是表格a中没有的数据【判断依据是gbid,如果gbid相同就是认为是一个数据】
————————————————


2.设计思路:

实现的部分代码:

1.把一个表格A中的数据读入到一个全局的list列表中

2.然后读另外一个表格B一行行读,读取后就是与列表进行对比[gbid的对比]

3.如果B中的数据在A中【列表中】存在,就是在B的excel表格中第16列标记为数字1,同时背景色为红色,以及打印出“红色的id信息”

4.最终保存表格B的数据以及第16列状态信息

5.通过表格b中的16列状态就是可以知道,b表格中哪些数据在A中有,哪些没有


#程序思路  1.读入我方从导出的所有地市的数据表格sheet-->data
#   2.读入对方数据治理的导出的数据的,sheet为“ck”
# 3.导入所有数据的国标id到一个gloablist=[]这里,导出完毕后检索
# 4.循坏对方表中的国标ID那列,判断每个id是否在“gloablist=["这里,在这里就是在对方检索表的16列添加数字1,否则添加0
# ------
# 优化版本,优化存入数据到本地json格式,软件启动后直接读取到内存为列表形式,然后在对对比
# gbid--->list#优化输入表格输入名称错误的问题,简单优化下

3.使用数据帮助说明:

 前提:两个表格,表格1是:工作簿是data  表格2工作簿是ck;1.导入网力excel表格数据,重点关注第六列数据是否是国标编号【31010100581394000030】20位编码;同时表格的工作簿一定要是“data"2.数据检测表格,重点关注第一列【待检测的编号】,以及第16列【数据写入状态1,0】同时表格的工作簿一定要是“ck"3.运行“数据检测”稍等一会就是在当前目录下生成“Dest_”开头的文件,关注第16列有1的就是说明有这个数据,0的就是没有这个数据
前提:两个表格,表格1是:工作簿是data  表格2工作簿是ck;
1.导入网力excel表格数据,重点关注第六列数据是否是国标编号【31010100581394000030】20位编码;
同时表格的工作簿一定要是“data"
2.数据检测表格,重点关注第一列【待检测的编号】,以及第16列【数据写入状态1,0】
同时表格的工作簿一定要是“ck"
3.运行“数据检测”稍等一会就是在当前目录下生成“Dest_”开头的文件,关注第16列有1的就是说明有这个数据,0的就是没有这个数据


4. 核心代码:

启动时候检测是否有db.json文件,如果有就是加载进入系统

db.json----->为导入表格的id信息的

    if os.path.exists("db.json"):print("db.json数据加载中....")# 启动程序后就是把json文件内容整体读取到gloablist列表中,用于检索数据with open("db.json","r",encoding="utf8")as fr:gloablist=json.load(fr)print("数据加载完毕!")

5.入库的核心代码:

def impotdatalib():gloablist = []pvg10 = input("pvg数据导出的gbid表格入库:")pvg10 = pvg10.strip()if (not pvg10.endswith("xlsx")):pvg10 = (pvg10 + ".xlsx")print("生成入库索引文件,请等待...")wb = load_workbook(pvg10)sheet = wb["data"]   #单元薄必须是“data"max_row = sheet.max_row+1print("导入数据rows:",max_row)max_column = sheet.max_column+1print("导入数据columns:",max_column)for i in range(1, max_row):for j in range(1, max_column):if (j == 6):  # device id 31010100581994000030  -->20设备idgbid=sheet.cell(row=i, column=6).valuegloablist.append(gbid)print("入库数据总量为:",len(gloablist))with open("db.json","w",encoding="utf8") as fjson:json.dump(gloablist,fjson,ensure_ascii=False)   #ensure_ascii=False  避免中文乱码

python 实现两个excel表格数据的对比相关推荐

  1. python使用openpyxl处理excel表格数据

    python使用openpyxl处理excel表格数据 前言 一.安装openpyxl包 二.读取excel数据 1. 获取excel表格的页码 2. 获取excel表格某一行的数据 3. 获取exc ...

  2. python怎么合并多个excel表 视频_()如何用python合并两个excel表格

    ()如何用python合并两个excel表格 python合并excel表格视频教程2020-09-25 04:04:33人已围观 python实现excel合并 Created on Mon Mar ...

  3. 【Unity】安装配置Python使用protobuf转换Excel表格数据并在unit中使用

    前言: 之前使用NPOI插件编写的导表工具,其实就是直接将数据进行序列化,解析时还需要进行反序列化,步骤比较繁复,最近看到Google的一个开源的项目protobuf,不仅可以用于进行excel表格数 ...

  4. python与excel的区别-python比较两个excel表格的差异

    一个同事有两个excel表格要比较差异, 找了一下有相关软件,如: beyond compare, excel compare 但这两个似乎都是直接排序再比较的. 然后没办法,就用python折腾了一 ...

  5. Python写入和读取Excel表格数据

    Python作为一个强大的数据处理工具,这里简单介绍下python读取写入excel表格数据. 一.python写入excel表格 导入xlwt模块 生成一个空的excel表格,命名为my_test. ...

  6. Python中ArcPy读取Excel表格数据创建矢量要素图层并生成属性表字段与内容

    1 任务需求   首先,我们来明确一下本文所需实现的需求.   现有一个记录北京市部分PM2.5浓度监测站点信息的Excel表格数据,格式为.xls:文件内包含站点编号.X与Y坐标.站点名称等四列数据 ...

  7. exlc如何对比_给你两张Excel表格,如何对比快速找到其中不同数据!

    当你有两个Excel表格需要对比数据时候,你该怎么做了?之前我们有讲过两列数据对比查找不同之处的方法.当然,那只是针对两列数据而言.这次小汪老师再来分享一下,对于两张表之间的数据如何快速有效的对比,找 ...

  8. Python按行打乱Excel表格数据

    因做数学建模比赛,需要打乱训练数据,于是用python写了个简单的小程序,作用就是按行打乱Excel表格. 先说一下需要使用的第三方库openpyxl Openpyxl是一个用于读写Excel 201 ...

  9. 【Pandas数据处理100例目录】Python数据分析玩转Excel表格数据

    前言 大家好,我是阿光. 本专栏整理了<Pandas数据分析处理>,内包含了各种常见的数据处理,以及Pandas内置函数的使用方法,帮助我们快速便捷的处理表格数据. 正在更新中~ ✨

  10. python处理wps表格数据匹配_两个excel表格数据匹配wps-WPS怎样用VLOOKUP引用另一个表格的数据...

    wps精确匹配,把一个wps表格里面的数据匹配到另一... 材料/工具:wps2016 1.打开匹配个表格,表1和表2. 2.在需要放匹配值的格中输入=vl,就会自动提示vlookup函 3.双击选择 ...

最新文章

  1. c# unity PlayerPrefs 游戏存档,直白点就是讲游戏数据本地保存下来
  2. Linux内核的namespace机制分析
  3. @Bean+@Component+@Configuration+@Autowired的配合使用与区别(转载+整理+完整实验)
  4. 写代码水平的几个发展阶段
  5. Oracle对象被锁如何处理
  6. 《从零开始学Swift》学习笔记(Day 16)——字典集合
  7. mysql版本更新之后忘记登录密码_MySQL 密码遗忘和登陆报错问题
  8. python显示gif图片报错_用Python制作在地图上模拟瘟疫扩散的Gif图
  9. 谈区块链的时候别忘记了“新零售”
  10. pytorch入门_PyTorch入门
  11. ios签名软件_如何解决IOS企业签名超高掉签率?当然是选择小菠萝企业签名啦!...
  12. 机器学习笔记(1)决策树
  13. php元换成万元,人民币单位换算器(元换算成万元换算器)
  14. 30系列NVIDIA显卡安装tensorflow 极简
  15. MySQL复习记录(二):MySQL基础知识与基本操作
  16. 微信公众号 自定义分享功能
  17. AndroidInputSystem
  18. 2021东三省数学建模竞赛a题
  19. Redis高级应(2)-事务以及LUA脚本
  20. MySQL 的 SQL语句

热门文章

  1. ORB特征提取算法解析
  2. Mybatis学习笔记(九) —— Mybatis逆向工程
  3. iptables数据包、连接标记模块MARK/CONNMARK的使用(打标签)
  4. python学习:猜数字游戏
  5. cogs 315. [POJ3255] 地砖RoadBlocks
  6. datagrid与jqgrid区别
  7. 2017《面向对象程序设计》课程作业一
  8. Linux系统调用之open(), close() (转载)
  9. 通过过滤器获取表单元素
  10. [?]Solaris下两个Oracle同时启动时遇到的问题