python对比两个excel表 【超简单】
注:由于我们不是专门做数据处理与分析的,因此懂的也少,所以编写的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表 【超简单】相关推荐
- python excel对比_日常使用————python对比两个excel表中的数据
现在有两个相同的数据集的结构,把80年和2000年两个文件夹,文件名是一样的,但文件数据是不一致的80年xls格式存储,2000年使用xlrd读取数据存储在xlsx格式,使用openpyxl读取数据, ...
- python对比excel两列数据_python 对比excel表格数据表-python实现两个excel表列数据对比若源表与目标表存......
在数据分析方面,比起python,excel的局限性在哪 data3 = pandas.merge(data1, data2, on=['名称'], how='inner') inner:内连接,取交 ...
- Python操作两个Excel表,筛选出新增和已删除的条目
今天实习收到了一个任务,手头有两个excel表,分别是4月份和五月份的两份资料,需要找出五月份excel和四月份相比较被删除和新增的条目.(他们事业单位平时都是人工处理这些任务,几百个条目这得校对到什 ...
- Java对比两张Excel表的数据,java对比两个excel或者一张excel和数据库的一张表的数据是否相同,两张excel表格匹配相同的数据库...
excel自动从数据库匹配相应的数据 vlookup函数:vlookup(lookup_value,table_array,col_index_num,[range_lookup]) 第一个:look ...
- Java对比两张Excel表的数据_比较两个Excel表格并提取重复数据
目标: 搜索并比较两个字段E列(表2)到E列(表1)将表2中的重复值返回到表3 显示和突出显示工作表1和2上的重复值突出显示 从工作表2复制重复条目,然后添加到工作表3 如果E列(表2)= E列(表1 ...
- python删除两个excel表中的相同元素_Python数据处理--删除重复项、数值替换和表合并...
导入需要的包:numpy.pandas import numpy as py import pandas as pd 创建一个表:df = pd.DataFrame({"id":[ ...
- python删除两个excel表中的相同元素_python筛选出两个文件中重复行的方法
''' 查找A文件中,与B文件中内容不重复的内容 ''' #!usr/bin/python import sys import os ''' 字符串查找函数,使用二分查找法在列表中进行查询 ''' d ...
- Python实现对比两个Excel数据内容并标出不同
导读 日常工作中需要对比两个Excel工作表中的数据差异是很不方便的,使用python来做就比较简单了!本文为大家介绍了python实现对比两个Excel的数据内容并标记出不同数据的示例代码,需要的可 ...
- python怎么筛选excel数据_python筛选数据excel表格-如何利用python提取两个excel对比后的重复值的信息?...
怎么用python读取excel表格的数据 import xlrd #open the .xls file xlsname="test.xls" book = xlrd.open_ ...
最新文章
- 我用python10年后,我发现学python必看这三本书! 1
- 大头贴计算机教程,美颜相机大头贴在哪里 教你怎么弄动漫大头贴
- OpenStack OVS实现安全组(五)
- start ssh-agent
- 宝峰uv5r怎么设置信道_极蜂D301对讲机和宝峰UV5R 半月评
- JavaFX 中使用多线程与保证 UI 线程安全
- jenkins war包_Jenkins的安装和部署(jenkins教程)
- sdn框架的计算机网络管理,清华SDN实践--SDN 系统架构与数据中心应用
- 重读经典(点云深度学习开山之作):《Deep learning on point clouds for 3D scene understanding》(持续更新中)
- AES和RSA前后端加解密
- 韩山师范计算机科学与技术,韩山师范学院计算机科学与技术专业
- C#-WebForm-JS知识:基础部分、BOM部分、DOM部分、JS事件
- 几个常用的JavaScript字符串处理函数
- SpringBoot整合jsp的使用
- 电压跟随器不要随便加
- 虚幻引擎4崩溃?10个UE4崩溃解决方法来了
- A64指令集如何将64位的数值写入通用寄存器
- STM32旋转立方体
- Qt中可执行文件如何添加ICON图标
- 移动开发采用什么平台好?
热门文章
- 支付宝——支付接口开发
- 塑料袋 (Demo) (《缝纫机乐队》电影插曲) - 缝纫机乐队
- windows7 下安装 labelImg
- Django框架CSRF验证失败解决
- 如何用C语言写出一个微信群聊机器人
- matlab多项式的拟合与插值例题_Matlab中数据处理和多项式插值与曲线拟合
- 删除:大数据取舍之道——读书笔记
- 微型计算机cpu每执行,微型计算机及接口技术2017年4月真题试题(04732)
- OSPF网络中两端设备网络类型不一致所带来的故障现象
- 评委拍案叫绝、项目惊喜不断,这是一届怎样的 Hackathon ?丨TiDB Hackathon 2021 回顾