最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

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

Python 少儿编程 1688浏览 0评论

友情提示:380元/半年,儿童学编程,就上码丁实验室

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(测试没出现遗漏的情况)

结合CSV模块可以将文本输出至csv文件中,方便使用Excel编辑,参考下文:

Python  CSV模块存储资料


喜欢文章,欢迎大家转发!!!

 

您必须 登录 才能发表评论!