需求背景
最近在帮老师处理一些新生报道的事情,有一个需求是确认已经进群的同学是否在报道名单内以及哪些同学不在名单内,如果只有几十个人,人工确认一下也还好,但是如果有几百上千,那可太苦了,这种重复性工作对于一个程序员说也太不好玩了吧,于是开始研究怎么让程序帮我做这件事情。
寻找解决方案
首先就是怎么快速导出所有的群成员信息,当然要问万能的百度了。
知乎的这个提问正是我想要的,点开,发现了想要的答案。
提前通知好群里的成员改好名片,这个时候我们就拥有了群成员的真实姓名的一列。
下面其实完全可以用Excel函数 例如 VLOOKUP,IF COUNTS之类的,但是由于没有尝试成功,加上平日里见到不少利用Python搞办公的广告欣然会意
利用Python 处理数据
首先把刚刚导出的Excel中 群名片的那一列数据复制出来,放到一个文本文件中(这里的是arrive.csv),就会有下图的效果,同样的道理,将报道名单中的姓名处理一下,复制到另一个文本文件,这里命名为
下面上代码
# 读取所有成员信息
full = open("")
full_member = ()
# 删除每一行开头和末尾可能有的空格或者换行键
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:
no(member)
for member in arrive_member:
# 判断群里的人是否在成员内
if member not in full_member:
no(member)
# 打开结果信息
print(not_arrive)
prin())
print(not_exist)
至此大功告成,可以在控制台里看到不在名单内的群成员,和未加入群的成员。
总结
什么问题适合计算机解决呢? 重复性操作的问题,机器最擅长。