python xlwings实际案例---查找一个表是否在另一个表中出现过

首先说一下开发背景。作为一名班级干部,经常会组织开会签到或者群内接龙的问题,尤其是现在班级人员每天做检查,做了的都需要在群内接龙方便我们进行统计及时知道谁没做。然而当班级人数比较多而接龙人数也比较多时就会出现只有那么几个人没接龙但是自己一个一个对信息表工作量实在太大,在群里直接问也很可能半天没回应也不知道都有谁没接,而且也会让这少部分人尴尬。于是我想到了用代码来解决这一问题。但是接龙人员的接龙方式很多时候和规定格式会有一些出入,而用Excel的vlookup还需要尽量保持两个表的一致性实在太麻烦。因为接触过一些python所以我想到用一行python代码来实现这个功能。

python xlwings实际案例---查找一个表是否在另一个表中出现过_第1张图片

上图是完整的目录结构。

python xlwings实际案例---查找一个表是否在另一个表中出现过_第2张图片 

 如上图接龙信息,已经有8人接龙了,可以看到接龙的格式都不太一样但是基本格式都是学号+姓名/学号+姓名+已做,有的人中间加了空格,有的没有空格。格式细节不够严格标准。

python xlwings实际案例---查找一个表是否在另一个表中出现过_第3张图片

 如上图这是咱们自己手里的班级人员信息表,接下来打开看看。

python xlwings实际案例---查找一个表是否在另一个表中出现过_第4张图片

 如上图班级人员的信息都放在了Sheet1中,姓名信息在第一列的第二行开始向下均是姓名信息。

python xlwings实际案例---查找一个表是否在另一个表中出现过_第5张图片

 如上图我们首先创建一个名为接龙人员的工作表

python xlwings实际案例---查找一个表是否在另一个表中出现过_第6张图片

 如上图将群内接龙信息复制到Sheet1的A列中

python xlwings实际案例---查找一个表是否在另一个表中出现过_第7张图片

 打开PyCharm,工作路径见上图。

创建名为search_list的.py文件,写下如下代码,代码已经加了注释自行观看理解。python xlwings实际案例---查找一个表是否在另一个表中出现过_第8张图片

python xlwings实际案例---查找一个表是否在另一个表中出现过_第9张图片

python xlwings实际案例---查找一个表是否在另一个表中出现过_第10张图片

python xlwings实际案例---查找一个表是否在另一个表中出现过_第11张图片

运行一下代码

python xlwings实际案例---查找一个表是否在另一个表中出现过_第12张图片

 上图为运行结果,没有问题成功搞定。接下来就是如何方便以后调用了,这里我使用了定义函数的方法。

python xlwings实际案例---查找一个表是否在另一个表中出现过_第13张图片

 如上图创建一个名为def_code的文件夹用于放置函数代码,在这个文件夹下创建def_demo1.py文件

python xlwings实际案例---查找一个表是否在另一个表中出现过_第14张图片

python xlwings实际案例---查找一个表是否在另一个表中出现过_第15张图片

python xlwings实际案例---查找一个表是否在另一个表中出现过_第16张图片

python xlwings实际案例---查找一个表是否在另一个表中出现过_第17张图片 

 以上是定义的函数,其实就是把search_list.py文件的代码写过来然后把路径,工作簿,获取的列名用变量名path,sheet_name_index,x1来替代。很简单吧~

 

python xlwings实际案例---查找一个表是否在另一个表中出现过_第18张图片

 如上图新建一个demo1.py文件,写下上述代码,运行一下

python xlwings实际案例---查找一个表是否在另一个表中出现过_第19张图片

 搞定!!!以后我们就可以用这样一行代码来处理接龙签到这种问题啦!!!

 

代码是活的,大家可以一起来开发更多有意思的功能,让工具为咱们自己服务。班干部也可以很轻松。

你可能感兴趣的:(python,开发语言,pycharm,excel)