友情提示:380元/半年,儿童学编程,就上码丁实验室。
我们要做什么
假设你是一个企业的HR助手,每天收到成百上千份简历,你需要将每一份简历中的姓名,电话等需要的信息过滤出来,整理成表格交给你的老板。
你的做法可能是打开每一份简历,找到相应的信息,然后复制黏贴到Excel表格中,然后不断重复。这种方法很慢也很无聊。
我们可以通过Python来简化一下操作流程:
打开简历–全选–复制—–循环。
具体步骤
1.本例中有几个简化了的简历,信息纯属虚构,如下图(也是从网上复制下来经过修改的):
简单的简历
Python代码
import re
import pyperclip
import time
#reg=re.compile(r’姓名s*(w{2,3})s*’)
reg1=re.compile(r’头像s*([u4e00-u9fa5]{2,3})s*’)
reg2=re.compile(r’目前正在找工作s*(d{11})’)
records=[]
while True:
try:
a=pyperclip.paste()
b1=reg1.search(a)
b2=reg2.search(a)
if b1!= None or b2!=None:
c1=b1.group(1)
c2=b2.group(1)
if {‘姓名’:c1,’电话’:c2} not in records:
records.append({‘姓名’:c1,’电话’:c2})
#time.sleep(0.01)
except KeyboardInterrupt:
with open(‘copy.txt’,’w’) as f:
for i in records:
f.write(‘姓名:’)
f.write(i['姓名'])
f.write(‘ ‘)
f.write(‘电话:’)
f.write(i['电话'])
f.write(‘n’)
print(‘退出了’)
records=[]
break
几点解释:
[u4e00-u9fa5]{2,3}该正则表达式是匹配中文汉字(人名是两个字或三个字)
参考阅读:
Python遇上剪切板
Python正则表达式应用(一)
运行程序,然后复制简历,复制结束之后,ctrl+c(在IDLE中)结束程序,如下图:
此时在程序同一个目录中将生成一个copy.txt文件,如下图:
输出结果
提醒:使用鼠标右键复制,有时会复制不到(不知是不是bug),建议使用快捷键ctrl+c(测试没出现遗漏的情况)
结合CSV模块可以将文本输出至csv文件中,方便使用Excel编辑,参考下文:
Python CSV模块存储资料
喜欢文章,欢迎大家转发!!!