Python快速从剪切板中获取想要的数据

Python快速从剪切板中获取想要的数据


我们要做什么

       假设你是一个企业的HR助手,每天收到成百上千份简历,你需要将每一份简历中的姓名,电话等需要的信息过滤出来,整理成表格交给你的老板。

        你的做法可能是打开每一份简历,找到相应的信息,然后复制黏贴到Excel表格中,然后不断重复。这种方法很慢也很无聊。

        我们可以通过Python来简化一下操作流程:

        打开简历–全选–复制—–循环。

具体步骤

1.本例中有几个简化了的简历,信息纯属虚构,如下图(也是从网上复制下来经过修改的):
Python快速从剪切板中获取想要的数据

简单的简历

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中)结束程序,如下图:

Python快速从剪切板中获取想要的数据

此时在程序同一个目录中将生成一个copy.txt文件,如下图:

Python快速从剪切板中获取想要的数据

输出结果

提醒:使用鼠标右键复制,有时会复制不到(不知是不是bug),建议使用快捷键ctrl+c(测试没出现遗漏的情况)