注:由于我们不是专门做数据处理与分析的,因此懂的也少,所以编写的python程序是简单易懂的,如果存在bug或者可以有更好的方法,欢迎大佬指出!!!

主要思路:
就是将excel表中每条数据变成一个字典,然后添加到列表中,组成一个元素为字典类型的列表(由于数据不可公开,所以做了马赛克)。如下:
excel数据:表1

excel数据:表2

可以看到每个excel表数据很多,都几千条,如果一个个看很费时。

import openpyxl
# 加载第一个Excel
data_raw= openpyxl.load_workbook("微课与教学辅助清单核对.xlsx") # 加载Excel文件
data_raw_sheet1 = data_raw[data_raw.sheetnames[0]] # 获取第一张数据表
data_weike= openpyxl.load_workbook("微课与教学辅助作品审核表.xlsx") # 加载Excel文件
data_weike_sheet1 = data_weike[data_weike.sheetnames[0]]
# data_raw_dict = {}
# data_weike_dict = {}
data_raw_list = []
data_weike_list = []
#微课类作品
for row in range(2,data_weike_sheet1.max_row):data_weike_dict = {}bianhao = data_weike_sheet1.cell(row=row,column=1).valuedalei_name = data_weike_sheet1.cell(row=row,column=2).valuexiao_name= data_weike_sheet1.cell(row=row,column=3).valuezuo_name = data_weike_sheet1.cell(row=row,column=4).valuexue_name = data_weike_sheet1.cell(row=row,column=5).valueshengfen = data_weike_sheet1.cell(row=row,column=6).valuedata_weike_dict['省份'] = shengfendata_weike_dict['作品编号'] = bianhaodata_weike_dict['大类名称'] = dalei_namedata_weike_dict['小类名称'] = xiao_namedata_weike_dict['作品名称'] = zuo_namedata_weike_dict['参赛学校'] = xue_namedata_weike_list.append(data_weike_dict)
#全部数据
for row in range(2,data_raw_sheet1.max_row):if data_raw_sheet1.cell(row=row,column=3).value == '微课与教学辅助':data_raw_dict = {}shengfen = data_raw_sheet1.cell(row=row,column=1).valuebianhao = data_raw_sheet1.cell(row=row,column=2).valuedalei_name= data_raw_sheet1.cell(row=row,column=3).valuexiao_name = data_raw_sheet1.cell(row=row,column=4).valuezuo_name = data_raw_sheet1.cell(row=row,column=5).valuexue_name = data_raw_sheet1.cell(row=row,column=6).valuedata_raw_dict['省份'] = shengfendata_raw_dict['作品编号'] = bianhaodata_raw_dict['大类名称'] = dalei_namedata_raw_dict['小类名称'] = xiao_namedata_raw_dict['作品名称'] = zuo_namedata_raw_dict['参赛学校'] = xue_namedata_raw_list.append(data_raw_dict)
#数据对比,把不正确的编号记录下来
print(len(data_weike_list))
print(len(data_raw_list))
right=0
wrong_count = 0
wrong_list = []
same = [x for x in data_weike_list if x in data_raw_list] #找两表相同的内容
no_same_in_weike = [x for x in data_weike_list if x not in same] #在weike中找和raw不同的数据
no_same_in_qingdan = [x for x in data_raw_list if x not in same]#在raw中和weike不同的数据
print(len(same))
print(len(no_same_in_qingdan))
print(len(no_same_in_weike))
#微课中不同的
for i in no_same_in_weike:print(i)
#清单中不同的
print("微课中出现与清单中不同的作品对比:")
for i in no_same_in_qingdan:print(i)

处理之后找出两表中不同的信息:

python对比两个excel表 【超简单】相关推荐

  1. python excel对比_日常使用————python对比两个excel表中的数据

    现在有两个相同的数据集的结构,把80年和2000年两个文件夹,文件名是一样的,但文件数据是不一致的80年xls格式存储,2000年使用xlrd读取数据存储在xlsx格式,使用openpyxl读取数据, ...

  2. python对比excel两列数据_python 对比excel表格数据表-python实现两个excel表列数据对比若源表与目标表存......

    在数据分析方面,比起python,excel的局限性在哪 data3 = pandas.merge(data1, data2, on=['名称'], how='inner') inner:内连接,取交 ...

  3. Python操作两个Excel表,筛选出新增和已删除的条目

    今天实习收到了一个任务,手头有两个excel表,分别是4月份和五月份的两份资料,需要找出五月份excel和四月份相比较被删除和新增的条目.(他们事业单位平时都是人工处理这些任务,几百个条目这得校对到什 ...

  4. Java对比两张Excel表的数据,java对比两个excel或者一张excel和数据库的一张表的数据是否相同,两张excel表格匹配相同的数据库...

    excel自动从数据库匹配相应的数据 vlookup函数:vlookup(lookup_value,table_array,col_index_num,[range_lookup]) 第一个:look ...

  5. Java对比两张Excel表的数据_比较两个Excel表格并提取重复数据

    目标: 搜索并比较两个字段E列(表2)到E列(表1)将表2中的重复值返回到表3 显示和突出显示工作表1和2上的重复值突出显示 从工作表2复制重复条目,然后添加到工作表3 如果E列(表2)= E列(表1 ...

  6. python删除两个excel表中的相同元素_Python数据处理--删除重复项、数值替换和表合并...

    导入需要的包:numpy.pandas import numpy as py import pandas as pd 创建一个表:df = pd.DataFrame({"id":[ ...

  7. python删除两个excel表中的相同元素_python筛选出两个文件中重复行的方法

    ''' 查找A文件中,与B文件中内容不重复的内容 ''' #!usr/bin/python import sys import os ''' 字符串查找函数,使用二分查找法在列表中进行查询 ''' d ...

  8. Python实现对比两个Excel数据内容并标出不同

    导读 日常工作中需要对比两个Excel工作表中的数据差异是很不方便的,使用python来做就比较简单了!本文为大家介绍了python实现对比两个Excel的数据内容并标记出不同数据的示例代码,需要的可 ...

  9. python怎么筛选excel数据_python筛选数据excel表格-如何利用python提取两个excel对比后的重复值的信息?...

    怎么用python读取excel表格的数据 import xlrd #open the .xls file xlsname="test.xls" book = xlrd.open_ ...

最新文章

  1. 我用python10年后,我发现学python必看这三本书! 1
  2. 大头贴计算机教程,美颜相机大头贴在哪里 教你怎么弄动漫大头贴
  3. OpenStack OVS实现安全组(五)
  4. start ssh-agent
  5. 宝峰uv5r怎么设置信道_极蜂D301对讲机和宝峰UV5R 半月评
  6. JavaFX 中使用多线程与保证 UI 线程安全
  7. jenkins war包_Jenkins的安装和部署(jenkins教程)
  8. sdn框架的计算机网络管理,清华SDN实践--SDN 系统架构与数据中心应用
  9. 重读经典(点云深度学习开山之作):《Deep learning on point clouds for 3D scene understanding》(持续更新中)
  10. AES和RSA前后端加解密
  11. 韩山师范计算机科学与技术,韩山师范学院计算机科学与技术专业
  12. C#-WebForm-JS知识:基础部分、BOM部分、DOM部分、JS事件
  13. 几个常用的JavaScript字符串处理函数
  14. SpringBoot整合jsp的使用
  15. 电压跟随器不要随便加
  16. 虚幻引擎4崩溃?10个UE4崩溃解决方法来了
  17. A64指令集如何将64位的数值写入通用寄存器
  18. STM32旋转立方体
  19. Qt中可执行文件如何添加ICON图标
  20. 移动开发采用什么平台好?

热门文章

  1. 支付宝——支付接口开发
  2. 塑料袋 (Demo) (《缝纫机乐队》电影插曲) - 缝纫机乐队
  3. windows7 下安装 labelImg
  4. Django框架CSRF验证失败解决
  5. 如何用C语言写出一个微信群聊机器人
  6. matlab多项式的拟合与插值例题_Matlab中数据处理和多项式插值与曲线拟合
  7. 删除:大数据取舍之道——读书笔记
  8. 微型计算机cpu每执行,微型计算机及接口技术2017年4月真题试题(04732)
  9. OSPF网络中两端设备网络类型不一致所带来的故障现象
  10. 评委拍案叫绝、项目惊喜不断,这是一届怎样的 Hackathon ?丨TiDB Hackathon 2021 回顾