python对比两个excel表 【超简单】_python对比两个excel文件_snow5618的博客-程序员宅基地

技术标签: excel  python  python数据分析案例  

注:由于我们不是专门做数据处理与分析的,因此懂的也少,所以编写的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).value
    dalei_name = data_weike_sheet1.cell(row=row,column=2).value
    xiao_name= data_weike_sheet1.cell(row=row,column=3).value
    zuo_name = data_weike_sheet1.cell(row=row,column=4).value
    xue_name = data_weike_sheet1.cell(row=row,column=5).value
    shengfen = data_weike_sheet1.cell(row=row,column=6).value
    data_weike_dict['省份'] = shengfen
    data_weike_dict['作品编号'] = bianhao
    data_weike_dict['大类名称'] = dalei_name
    data_weike_dict['小类名称'] = xiao_name
    data_weike_dict['作品名称'] = zuo_name
    data_weike_dict['参赛学校'] = xue_name
    data_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).value
        bianhao = data_raw_sheet1.cell(row=row,column=2).value
        dalei_name= data_raw_sheet1.cell(row=row,column=3).value
        xiao_name = data_raw_sheet1.cell(row=row,column=4).value
        zuo_name = data_raw_sheet1.cell(row=row,column=5).value
        xue_name = data_raw_sheet1.cell(row=row,column=6).value
        data_raw_dict['省份'] = shengfen
        data_raw_dict['作品编号'] = bianhao
        data_raw_dict['大类名称'] = dalei_name
        data_raw_dict['小类名称'] = xiao_name
        data_raw_dict['作品名称'] = zuo_name
        data_raw_dict['参赛学校'] = xue_name
        data_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)

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

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/snow_maple521/article/details/117478781

智能推荐

Dell机箱指示灯_戴尔服务器故障灯图解_深思千年的博客-程序员宅基地

Dell机箱指示灯机箱错误消息(Dell PowerEdge服务器第12代及更高代次)机箱指示灯或通常位于正面左上角的液晶屏。机箱指示灯No error(s):没有错误Error(s) Include temperature/fan/heatsink errors:错误 包括了温度,风扇,散热器上可能出现错误Hard drive activities-no error(s):硬盘状..._戴尔服务器故障灯图解

linux 重启服务器命令_重启linux服务器命令_普通网友的博客-程序员宅基地

Linux有如下的关机和重启命令:shutdown, reboot, halt, poweroff,那么它们有什么区别呢?_重启linux服务器命令

从多样性谈起到dpp_dpp算法-程序员宅基地

在推荐算法中,除了要考虑个性化,还要兼顾多样性,不然用户很快就会觉得单调无趣。在衡量推荐结果的多样性时,自然而然能想到的是统计推荐结果中含有不同tag的个数,tag的个数越多,多样性越好。但是这种指标有个问题,它与用户看的内容条数正相关,用户看的内容条数越多,自然tag个数会越多。假设一条feed平均有3个tag,只看了1条feed用户的多样性指标是3;看了10条feed的用户,总共有30个 tag,假设有50%的重合度,有15个不同tag,大大高于看了1条feed的用户。为了抵消feed条数的影响,于_dpp算法

golang错误处理之panic_王建文的博客-程序员宅基地

panic,类似其他语言throw抛出异常一样,通过函数调用链,一层层的把异常往上抛出去,如果没有人拦截异常,就会退出程序。一、直接panicpanic后直接抛出异常,程序终止,后续操作都不会执行package mainimport "fmt"// 直接panic,panic后直接抛出异常,程序终止,后续操作都不会执行func PanicTest() { fmt.Println("a") panic("panic 错误") fmt.Println("b")}func main()

数据预处理、特征工程(2)_特征工程的目的?a帮助降低计算成本-程序员宅基地

数据预处理、特征工程二、特征工程学习的b站上菜菜的课程。 特征工程将原始数据转换为更能代表预测模型的潜在问题的特征的过程,可以挑选最相关的特征,提取特征以及创造特征来实现。其中创造特征又经常以降维算法来实现。特征工程的目的:降低计算成本,提升模型上限。特征工程有三种特征提取(feature extraction)从文字,图像,声音等其他非结构化数据中提取新信息作为特征。比如说,从淘宝宝贝名称中提取产品类别、产品颜色、是否_特征工程的目的?a帮助降低计算成本

你的Docker环境安全吗?_docker是否安全_ghostcloud精灵云的博客-程序员宅基地

我们在日常使用docker的时候,并不清楚我们的环境是否安全,是否存在问题,今天给大家推荐一款docker环境扫描工具 - docker-bench-security. 他是一款开源的扫描工具,官方地址是:https://github.com/docker/docker-bench-security,通过运行容器,可以快速和系统的监测你的docker环境是否安全。下面是一个运行的例子:_docker是否安全

随便推点

等保和密评之间的关系_密评多少钱_工具人-的博客-程序员宅基地

“没有网络安全就没有国家安全,没有信息化就没有现代化,网络安全和信息化是一体之两翼、驱动之双轮”。随着5G、大数据、云计算、人工智能、工业互联网、物联网等新一代信息技术的发展,网络空间与物理空间被彻底打通,网络空间成为继“陆海空天”之后的第五大战略空间,愈演愈烈的网络攻击已经成为国家安全的新挑战。为保障网络空间安全,我国网络安全法治建设持续推进,《网络安全法》、《密码法》等多部法律已颁布实施,《个人信息保护法》《数据安全法》加速制定中,网络空间不再是“法外之地”。在《网络安全法》中明确规定国家实行网络安._密评多少钱

C和指针第四章编程练习_7-4 c程序设计 实验5-6 计算指针字符串长度_Lemon_WXJ的博客-程序员宅基地

1>正数n的平方根可以通过计算一系列近似值来获得,每个近似值都比前一个更加接近准确值。第一个近似值是1,接下来的近似值则通过下面的公式来获得。编写一个程序,读入一个值,计算并打印它的平方根。int main(){ float a = 1 ; float b = 0; float n = 0; printf("请输入:\n"); scanf("%f"_7-4 c程序设计 实验5-6 计算指针字符串长度

iphone开发Objective-C新特性──类别与协议_iJecky的博客-程序员宅基地

本文将介绍Objective-C语言的新物性,其中类别(categories)允许在现有的类中添加用户自己的方法,而协议则是Objective-C语言中特有的一种继承方式,类似于java语言中的接口。下面我将首先介绍它们的作用,还将以自己在工程中的实例予以分析。 一、类别 有时我们需要在一个已经定义好的类中增加一些方法,而不想去重写该类。比如,当工程已经很大,代码量比较多,或者类中已经包住很多方法,已经有其他代码调用了该类创建对象并使用该类的方法时,可以使用类别对该类扩充新的方法。 注意:

织梦采集_dede采集_dede自动采集_战国SEO的博客-程序员宅基地

织梦内容管理系统(DEDECMS) 是国内最知名的PHP开源网站管理系统。但是织梦采集文章一直是站长比较头痛的事情,市面上常见的织梦采集要么功能简单,要么不能自定义采集,要么就是无法对织梦采集过来的内容做相应的SEO优化处理,内容质量不高。但是看完本文,一招让你搞定织梦采集。织梦采集可以多关键词采集,无须编写采集规则。和传统的采集方式不同的是织梦采集可以根据用户设定的关键词中止泛采集,泛采集的劣势在于经过采集该关键词的不同搜索后果,完成不对指定的一个或几个被采集站点中止采集,增加采集站点被搜索引擎判_织梦采集

Linux从缓存区写到磁盘命令,Linux命令之sync - 强制将内存中的文件缓冲内容写到磁盘..._a247292980的博客-程序员宅基地

用途说明Linux内核为了达到最佳的磁盘操作效率,会把需要写入到磁盘的数据现在内存中缓存起来,在合适的时候才真正写入到磁盘中,这在绝大多数情况都是没有任何问题的,而且提高了系统的效率,但是如果系统当机、掉电,就会有些文件内容不会保存下来。在Linux系统关机或者重启时,会自动把缓冲区的内容自动同步到磁盘中。我们也可以手工去执行sync命令,强制将内存中的文件缓冲内容写到磁盘,这个命令是通过调用sy..._linux将缓存数据写入磁盘

Golang 入门-基础篇_golang run kind 默认选择file_wuliZs_的博客-程序员宅基地

在上一个博客中讲述了Golang的安装,由于Csdn规定原因Go的IDE"Goland"破解版无法发布博客,学习中大家买正版也可以在某宝有,很便宜!!我们进入正题,实现简单的入门 “Hello World!”一、创建项目首先,在Goland选择 文件->New->Project....来创建一个新的项目创建一个新项目选择项目存放的路径选择存放路径二、运行,调试配置..._golang run kind 默认选择file

推荐文章

热门文章

相关标签