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

发布时间:2024-11-18 14:05

科技的进步让远程办公成为可能,提升了工作效率。 #生活知识# #生活感悟# #科技生活变迁# #科技对工作影响#

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

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

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

一、解析PDF(简历内推)

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

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

输出:需要解析的内容

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

依赖包:

from pdfminer.pdfparser import PDFParser from pdfminer.pdfdocument import PDFDocument from pdfminer.pdfpage import PDFPage from pdfminer.pdfinterp import PDFResourceManager from pdfminer.pdfinterp import PDFPageInterpreter from pdfminer.layout import LAParams from pdfminer.converter import PDFPageAggregator def 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

1234567891011121314151617181920212223242526272829303132333435363738394041424344

二、发送邮件

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

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

参数说明

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]) 1

参数说明

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

案例:

from email.mime.text import MIMEText from email.header import Header sender = '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: 无法发送邮件"

123456789101112131415161718192021222324252627

三、操作execl

1. 关联公式:Vlookup

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

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

2. 数据透视表

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

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

3. 对比两列差异

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

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

4. 去除重复值

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

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

5. 缺失值处理

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

6. 多条件筛选

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

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

7. 模糊筛选数据

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

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

8. 分类汇总

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

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

9. 条件计算

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

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

10. 删除数据间的空格

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

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

四、画图分析

英雄联盟防御力:

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

img

安妮、卡尔玛能力矩阵:

img

代码示例:

from pyecharts.charts import Pie from pyecharts import options as opts from pyecharts.charts import Radar from 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__':

12345678910111213141516171819202122232425262728293031

五、解析word(docx、doc)

依赖包:

if 'docx' in file: f = docx.Document(file) for para in f.paragraphs: res = res + '\n' +para.text # 先转格式doc>docx os.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')

123456789101112131415161718192021

六、计算器

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

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

关于Python学习指南

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

Python所有方向的学习路线

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

在这里插入图片描述

Python学习视频600合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末 Python70个实战练手案例&源码

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

在这里插入图片描述

Python大厂面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

Python副业兼职路线&方法

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取保证100%免费

网址:6个 Python 办公黑科技,工作效率提升100倍!(附代码) https://www.yuejiaxmz.com/news/view/120443

相关内容

最受欢迎的11个Python编程软件,工作效率直接起飞!
省时省力,这些Python高效代码片段必须牢记
工作效率提升的方法与策略.docx
Python实现简单算法乘法:提升编程效率与逻辑思维
Python实现简便算法提升拼音输入法准确率与效率
机器学习建模神器PyCaret已开源!提升效率,几行代码轻松搞定模型
工作效率提升的时间管理窍门与工具.docx
提升办公、生活效率,WPS有个妙招
提高学习(工作)效率的十个方法.doc
智能办公系统的崛起:如何提升企业的工作效率与竞争力

随便看看