快速找出QQ群成员中不在名单内的人

Created: Aug 15, 2020 10:21 PM
Tags: Python, 计划中
Updated: Aug 17, 2020 10:45 PM

需求背景

最近在帮老师处理一些新生报道的事情,有一个需求是确认已经进群的同学是否在报道名单内以及哪些同学不在名单内,如果只有几十个人,人工确认一下也还好,但是如果有几百上千,那可太苦了,这种重复性工作对于一个程序员说也太不好玩了吧,于是开始研究怎么让程序帮我做这件事情。

寻找解决方案

首先就是怎么快速导出所有的群成员信息,当然要问万能的百度了。

知乎的这个提问正是我想要的,点开,发现了想要的答案。

提前通知好群里的成员改好名片,这个时候我们就拥有了群成员的真实姓名的一列。

下面其实完全可以用Excel函数 例如 VLOOKUP,IF COUNTS之类的,但是由于没有尝试成功,加上平日里见到不少利用Python搞办公的广告欣然会意

利用Python 处理数据

首先把刚刚导出的Excel中 群名片的那一列数据复制出来,放到一个文本文件中(这里的是arrive.csv),就会有下图的效果,同样的道理,将报道名单中的姓名处理一下,复制到另一个文本文件,这里命名为full.csv

下面上代码

# 读取所有成员信息
full = open("full.csv")
full_member = full.readlines()
# 删除每一行开头和末尾可能有的空格或者换行键
full_member = [x.strip() for x in full_member]arrive = open("arrive.csv")
arrive_member = arrive.readlines()
arrive_member = [x.strip() for x in arrive_member]
# 记录不在名单内的成员
not_exist = []
# 记录不在群里的成员
not_arrive = []for member in full_member:# 名单内的成员是否已经在群里if member not in arrive_member:not_arrive.append(member)for member in arrive_member:# 判断群里的人是否在成员内if member not in full_member:not_exist.append(member)# 打开结果信息
print(not_arrive)
print(not_arrive.__len__())
print(not_exist)

至此大功告成,可以在控制台里看到不在名单内的群成员,和未加入群的成员。

总结

什么问题适合计算机解决呢? 重复性操作的问题,机器最擅长。

快速找出QQ群成员中不在名单内的人相关推荐

  1. 准确找出QQ群里长期潜水的成员踢出去(转)

    准确找出QQ群里长期潜水的成员踢出去(转) QQ群解除了以前不能多人同时聊天的限制,多个好友可以在群中即时交流.笔者也建立了一个IT作者编辑群,随着加入人数的增多,慢慢达到了群人数的上限,不能够再加入 ...

  2. js 快速找出两个数组中的不同元素或对象

    js 快速找出两个数组中的不同元素 var arr1 = [0,1,2,3,4,5]; var arr2 = [0,4,6,1,3,9]; function getArrDifference(arr1 ...

  3. 快速找出两个字符串中所有相同的字符

    面试时看到一个试题, 编写算法, 快速找出两个字符串中所有相同的字符. 现实现如下: 1. 利用TreeSet来查找是否有相同的字符(之前是利用TreeSet来查找) 2. 利用HashSet来查找是 ...

  4. 【正则表达式测试工具】使用正则表达式快速找出两列数据中不同的行

    例如像下面的这样的一堆海量数据(已省略部分),可能有几千组,在不编程的情况下如何快速找到不同的行?可能excel有办法,但是处理起来应该没我这样方便的. b_start b_end 100790 10 ...

  5. java快速找出数组或集合中重复的元素

    1.测试方法如下 public class TestArrayRepeat {public static void main(String[] args) {String [] idArr= {&qu ...

  6. 获取课程QQ群成员群名片,与选课名单核对

    核对QQ群成员是否在选课名单里,并检查哪些同学选课了但是没进群. 选课名单的格式是excel表格. 我们的目的是,想要知道: (1)哪些群成员不在选课名单里 (2)哪些同学在选课名单却不在QQ群里. ...

  7. 易语言取c盘文件夹中的文件被占用,win7系统怎么快速找出文件被什么进程占用|win7解除文件占用的方法...

    ‍‍ 很多时候我们想删除文件或文件夹的时候,会出现文件正在使用的提示导致文件无法删除,如果知道是什么程序在使用这个文件好,但多数时候我们并不知道是被什么程序占用,那么在win7系统怎么快速找出文件被什 ...

  8. 如何快速找出一个数组中最大数和第二大数

    看到一道题是:快速找出一个数组中最大数和第二大数. 我之前学了一些数组排序,例如冒泡排序,简单选择排序等等,然后我就想可不可以利用冒泡排序来实现呢?之前写过冒泡排序实现从小到大的排列,那么可以改成从大 ...

  9. 快速找出一个数组中的最大数、第二大数

    http://blog.csdn.net/hackbuteer1/article/details/8035261#comments 快速找出一个数组中的最大数.第二大数 思路:如果当前元素大于最大数 ...

最新文章

  1. Nature:超越地域和文化,AI识别出全人类共同的16种面部表情
  2. Kubernetes — HOST-DEVICE CNI
  3. php foreach 修改数组,php如何使用foreach修改数组
  4. java static成员变量方法和非static成员变量方法的区别 ( 二 )
  5. SpringCloud教程-服务的注册与发现Eureka(SpringCloud版本Finchley)
  6. 征战蓝桥 —— 2016年第七届 —— C/C++A组第3题——方格填数
  7. BeanUtils.copyProperties()使用详解+在不同包的区别
  8. BZOJ1004 [HNOI2008]Cards 【burnside定理 + 01背包】
  9. Bzoj4822 [Cqoi2017]老C的任务
  10. thinkphp漏洞_【组件攻击链】ThinkCMF 高危漏洞分析与利用
  11. 一层交换 二层交换 三层交换 四层交换 七层交换 OSI参考模型
  12. Android Studio安装教程
  13. STM32F103标准库函数驱动max30102心率血氧模块
  14. 工程学导论——心得体会
  15. 【小月电子】ALTERA FPGA开发板系统学习教程-LESSON5数码管动态显示
  16. 八年级地理上册复习提纲(星球版)
  17. speedoffice使用方法-Word如何分栏
  18. vs编译出现 0xC0000005
  19. Altium Designer调整PCB丝印位号经验
  20. 如何做一个好的PPT演讲

热门文章

  1. 内网、校园网BT下载必看帖(BitComet加速篇)
  2. U盘病毒病状及解决方法
  3. laravel5.5阿里大鱼短信验证
  4. 应、往届生考研?注意事项大不同!
  5. UE4 Windows下对接百度语音识别
  6. js 插件 drag.js拖动
  7. 使用 Parallel 提高 Linux 命令行执行效率
  8. Modbus CRC16校验方法及实现代码
  9. 学习日记——ESP8266SNTP
  10. Shapley Value(****夏普利值,沙普利值****)