下班晚,加班久感觉已经成为现代打工人的通病,每天将大部分时间浪费在一些机械,重复的工作上,如何提升你自己的工作效率才是关键。

今天给大家分享6个 Python 办公小技巧,让你的工作效率倍增,欢迎大家学习收藏、喜欢点赞支持。

废话不说,让我们开始学习吧。

一、解析PDF(简历内推)

**应用场景:**简历内推(解析内容:包括不限于姓名、邮箱、电话号码、学历等信息)

**输入:**要解析的文件路径

输出:需要解析的内容

环境准备:python 3.6 、mac(下文中doc转docx是mac写法,windows更简单,导入win32的包即可)

依赖包:

from pdfminer.pdfparser import PDFParserfrom pdfminer.pdfdocument import PDFDocumentfrom pdfminer.pdfpage import PDFPagefrom pdfminer.pdfinterp import PDFResourceManagerfrom pdfminer.pdfinterp import PDFPageInterpreterfrom pdfminer.layout import LAParamsfrom pdfminer.converter import PDFPageAggregatordef pdf_reader(file):fp = open(file, "rb")# 创建一个与文档相关联的解释器parser = PDFParser(fp)# PDF文档对象doc = PDFDocument(parser)# 链接解释器和文档对象parser.set_document(doc)# doc.set_paeser(parser)# 初始化文档# doc.initialize("")# 创建PDF资源管理器resource = PDFResourceManager()# 参数分析器laparam = LAParams()# 创建一个聚合器device = PDFPageAggregator(resource, laparams=laparam)# 创建PDF页面解释器interpreter = PDFPageInterpreter(resource, device)# 使用文档对象得到页面集合res = ''for page in PDFPage.create_pages(doc):# 使用页面解释器来读取interpreter.process_page(page)# 使用聚合器来获取内容layout = device.get_result()for out in layout:if hasattr(out, "get_text"):res = res + '' + out.get_text()return res

二、发送邮件

有几个模块用于访问互联网以及处理网络通信协议。其中最简单的两个是用于处理从 urls 接收的数据的 urllib.request 以及用于发送电子邮件的 smtplib:

smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )

参数说明

  • host: SMTP 服务器主机。 你可以指定主机的ip地址或者域名如: http://runoob.com,这个是可选参数。
  • port: 如果你提供了 host 参数, 你需要指定 SMTP 服务使用的端口号,一般情况下 SMTP 端口号为25。
  • local_hostname: 如果 SMTP 在你的本机上,你只需要指定服务器地址为 localhost 即可。

Python SMTP 对象使用 sendmail 方法发送邮件,语法如下:

SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])

参数说明

  • from_addr: 邮件发送者地址。
  • to_addrs: 字符串列表,邮件发送地址。
  • msg: 发送消息

案例:

from email.mime.text import MIMETextfrom email.header import Headersender = 'from@runoob.com'receivers = ['1221121@qq.com']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱# 三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码message = MIMEText('Python 邮件发送测试...', 'plain', 'utf-8')message['From'] = Header("不吃西红柿", 'utf-8')   # 发送者message['To'] =  Header("测试", 'utf-8')        # 接收者subject = 'Python SMTP 邮件测试'message['Subject'] = Header(subject, 'utf-8')smtpObj = smtplib.SMTP('localhost')smtpObj.sendmail(sender, receivers, message.as_string())except smtplib.SMTPException:print "Error: 无法发送邮件"

三、操作execl

1. 关联公式:Vlookup

vlookup是excel几乎最常用的公式,一般用于两个表的关联查询等。所以我先把这张表分为两个表。

df1["订单明细号"].duplicated().value_counts()df2["订单明细号"].duplicated().value_counts()df_c=pd.merge(df1,df2,on="订单明细号",how="left")

2. 数据透视表

需求:想知道每个地区的业务员分别赚取的利润总和与利润平均数。

pd.pivot_table(sale,index="地区名称",columns="业务员名称",values="利润",aggfunc=[np.sum,np.mean])

3. 对比两列差异

需求:比较订单明细号与订单明细号2的差异并显示出来。

sale["订单明细号2"]=sale["订单明细号"]sale["订单明细号2"][1:10]=sale["订单明细号2"][1:10]+1result=sale.loc[sale["订单明细号"].isin(sale["订单明细号2"])==False]

4. 去除重复值

需求:去除业务员编码的重复值

sale.drop_duplicates("业务员编码",inplace=True)

5. 缺失值处理

sale["客户名称"]=sale["客户名称"].fillna(0)sale.dropna(subset=["客户编码"])

6. 多条件筛选

需求:想知道业务员张爱,在北京区域卖的商品订单金额大于6000的信息。

sale.loc[(sale["地区名称"]=="北京")&(sale["业务员名称"]=="张爱")&(sale["订单金额"]>5000)]

7. 模糊筛选数据

需求:筛选存货名称含有"三星"或则含有"索尼"的信息。

sale.loc[sale["存货名称"].str.contains("三星|索尼")]

8. 分类汇总

需求: 北京区域各业务员的利润总额。

sale.groupby(["地区名称","业务员名称"])["利润"].sum()

9. 条件计算

需求:存货名称含“三星字眼”并且税费高于1000的订单有几个?这些订单的利润总和和平均利润是多少?(或者最小值,最大值,四分位数,标注差)

sale.loc[sale["存货名称"].str.contains("三星")&(sale["税费"]>=1000)][["订单明细号","利润"]].describe()

10. 删除数据间的空格

需求:删除存货名称两边的空格。

sale["存货名称"].map(lambda s :s.strip(""))

四、画图分析

英雄联盟防御力:

防御能力最低的英雄(1级): 暗夜猎手,魔法猫咪,万花通灵 防御能力最高的英雄(10级): 正义巨像,披甲龙龟

安妮、卡尔玛能力矩阵:

代码示例:

from pyecharts.charts import Piefrom pyecharts import options as optsfrom pyecharts.charts import Radarfrom pyecharts.charts import Radar# //由于雷达图传入的数据得为多维数据,所以这里需要做一下处理radar_data = [[10, 10, 10, 10, 10]]radar_data1 = [[2, 10, 3, 6, 3]]radar_data2 = [[1, 8, 7, 5, 8]]# //设置column的最大值,为了雷达图更为直观,这里的月份最大值设置有所不同("物理", 100), ("魔法", 10), ("防御", 10),("难度", 10),("喜好", 10)radar.add_schema(schema)radar.add("满分", radar_data)# //一般默认为同一种颜色,这里为了便于区分,需要设置item的颜色radar.add("安妮", radar_data1, color="#E37911")radar.add("卡尔玛", radar_data2, color="#1C86EE")if __name__ == '__main__':

五、解析word(docx、doc)

依赖包:

        if 'docx' in file:f = docx.Document(file)for para in f.paragraphs:res = res + '\n' +para.text# 先转格式doc>docxos.system("textutil -convert docx '%s'"%file)word_reader(file+'x')f = docx.Document(file+'x')for para in f.paragraphs:res = res + '\n' +para.text# print(file, 'read failed')

六、计算器

math模块为浮点运算提供了对底层函数库的访问:

>>> math.cos(math.pi / 4)

后续会陆陆续续补上一些其它有趣的办公自动化技巧

在学习python中有任何困难不懂的可以微信扫描下方CSDN官方认证二维码加入python交流学习,多多交流问题,互帮互助,这里有不错的学习教程和开发工具。
(这里每天都会不定时更新python不同题型和教程,希望大家一起学习,一起进步)

点此免费领取:CSDN大礼包:《python学习路线&全套学习资料》免费分享

Python学习大纲

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

入门学习视频

Python实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。


最后,千万别辜负自己当时开始的一腔热血,一起变强大变优秀。

6个 Python 办公黑科技,工作效率提升100倍!(附代码)相关推荐

  1. 6个Python办公黑科技,工作效率提升100倍!HR小姐姐都馋哭了(附代码)

    一.解析PDF(简历内推) 应用场景:简历内推(解析内容:包括不限于姓名.邮箱.电话号码.学历等信息) 输入:要解析的文件路径 输出:需要解析的内容(点我主页,详见历史文章) 环境准备:python ...

  2. ❤️ 6个Python办公黑科技,工作效率提升100倍!HR小姐姐都馋哭了(附代码)❤️

  3. python docx 复制_99%的人都不知道的Python整理文件方法,效率提升100倍

    现在人们经常要去下载或者接收一些文件. 比如说同事传来的文档,自己建立的文件,想看的电影等等,那大家都会怎么处理这些文件呢? 科研工作者.学生们可能需要阅读大量的文献,我们也需要阅读很多的电子书等等, ...

  4. python对工作效率的提升_使用了这个几个Python内置小工具,可以让你的工作效率提升一倍...

    使用了这个几个Python内置小工具,可以让你的工作效率提升一倍 我们将会详情4个Python解释器自身提供的小工具. 这些小工具在笔者的日常工作中经常使用到, 减少了各种时间的白费, 然而,却很容易 ...

  5. 4款实用国产办公软件,工作效率提升必备,还不赶紧收藏

    现代生活中,办公软件已成为工作中必不可少的一部分.作为一个企业或个人,选择一款好的办公软件可以大大提高工作效率,从而节省时间和精力. 在国产办公软件中,有许多优秀的选择,下面就为大家介绍四款实用国产办 ...

  6. 学会针对永洪API接口的性能测试,工作效率提升百倍

    性能测试是指针对产品的业务场景,通过设计场景和压力,对产品进行高并发量.大数据量的测试,主要目的是为了确定产品在高并发情况下的各项指标:平均处理时间,QPS,网络IO,磁盘读写等.永洪BI具有高耦合性 ...

  7. Excel教程:规范Excel表格设计,让工作效率提升百倍不止

    在工作中我们经常需要花费大量的时间来整理表格,而真正用在数据汇总的时间可能仅仅只有几分钟,这也就是所谓的,整理5小时汇总2分钟,所以说规范的设计表格以及录入数据会大大的提高我们的工作效率,让工作效率提 ...

  8. 必须掌握的20个Excel技巧,让你的工作效率提升十倍

    知识的广度来自知识的深度,学习如果不成体系那是多可怕的一件事儿,希望我们在未来的学习道路上坚守初心,不要给自己留下遗憾,以自己喜欢的方式生活,做自己喜欢做的事,宠爱自己,做一个独一无二的自己! 对于文 ...

  9. 昇兴集团:搭建帆软报表系统,打破数据孤岛,工作效率提升5倍

    注:本文为帆软2021数据生产力大赛参赛案例,未经授权禁止转载. 1.企业简介 昇兴集团股份有限公司坐落于具有我国工业摇篮著称的福州马尾区.公司始创于1992年,自成立以来,始终用专业严谨的态度从事食 ...

最新文章

  1. 欢迎大家加入我的圈子
  2. lopa分析_HAZOP : 保护层分析之失效使能分析导则
  3. android 单例存储,Android 单例在内存中存储数据
  4. Boost:异步操作,需要boost :: asio :: async_compose函数的测试程序
  5. 华为xs第几批升级鸿蒙,华为和荣耀老机型用户有福:确定能批量升级到鸿蒙系统!...
  6. javaweb学习总结(二十三):jsp自定义标签开发入门
  7. nsstring 空值比较_用比较器的nulls排序具有空值的列表
  8. java开发工程师工作内容怎么写
  9. tidb数据库_异构数据库复制到TiDB
  10. #华为云·寻找黑马程序员#【代码重构之路】使用Pattern的正确姿势
  11. 30. SELinux
  12. java小项目-房屋出租系统
  13. java--String类常用方法大全
  14. 自制合成孔径雷达(2) SDR实现的对比(SDR实现测速雷达)
  15. Matlab中tic和toc用法
  16. python获取已打开的网页内容_用Python获取网页数据
  17. spss26没有典型相关性分析_SPSS进行典型相关分析结果总结
  18. BIOS修改mbr为gpt的步骤
  19. python sort函数原理_python sort函数原理
  20. 手机app推广渠道的安装来源追踪与归因

热门文章

  1. CUMT-CTF第二次双月赛Writeup
  2. CSS二(复合选择器)
  3. 使用 Kitten 编程猫绘制一个魔方
  4. 开发者应用盈利最佳渠道-KeyMob移动广告聚合平台
  5. vue.js——ElementUI表单向后台提交FormData数据
  6. LEARUN快速开发平台,让开发变得更简单
  7. 沙滩啤酒win7主题【rmzt】
  8. 前端——js关闭页面方法
  9. NXP JN5169 波特率配置方案
  10. 设置柱状图每根柱子的颜色