一、解析PDF(简历内推)

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

输入:要解析的文件路径

输出:需要解析的内容(点我主页,详见历史文章)

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

依赖包:

# encoding: utf-8
import os, sys
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 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:

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

参数说明:

host: SMTP 服务器主机。 你可以指定主机的ip地址或者域名如: 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: 发送消息
案例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import smtplib
from email.mime.text import MIMEText
from email.header import Headersender = 'from@runoob.com'# 西红柿微:ZPYDWXY
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')try:smtpObj = smtplib.SMTP('localhost')smtpObj.sendmail(sender, receivers, message.as_string())print "邮件发送成功"
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["订单明细号"]#在订单明细号2里前10个都+1.
sale["订单明细号2"][1:10]=sale["订单明细号2"][1:10]+1#差异输出
result=sale.loc[sale["订单明细号"].isin(sale["订单明细号2"])==False]

4. 去除重复值

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

去除业务员编码的重复值

5. 缺失值处理

#用0填充缺失值
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级): 正义巨像,披甲龙龟

安妮、卡尔玛能力矩阵:

代码示例:

# encoding: utf-8
import json
from pyecharts.charts import Pie
from pyecharts import options as opts
from pyecharts.charts import Radardef draw_Radar():from pyecharts.charts import Radarradar = Radar()# //由于雷达图传入的数据得为多维数据,所以这里需要做一下处理radar_data = [[10, 10, 10, 10, 10]]radar_data1 = [[2, 10, 3, 6, 3]]radar_data2 = [[1, 8, 7, 5, 8]]# //设置column的最大值,为了雷达图更为直观,这里的月份最大值设置有所不同schema = [("物理", 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")radar.render()if __name__ == '__main__':draw_Radar()

五、解析word(docx、doc)
依赖包:

# encoding: utf-8
import os, sys
import docx
def word_reader(file):try:# docx 直接读if 'docx' in file:res = ''f = docx.Document(file)for para in f.paragraphs:res = res + '\n' +para.textelse:# 先转格式doc>docxos.system("textutil -convert docx '%s'"%file)word_reader(file+'x')res = ''f = docx.Document(file+'x')for para in f.paragraphs:res = res + '\n' +para.textreturn resexcept:# print(file, 'read failed')return ''

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

>>> import math
>>> math.cos(math.pi / 4)
0.70710678118654757
>>> math.log(1024, 2)
10.0

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

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

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

    下班晚,加班久感觉已经成为现代打工人的通病,每天将大部分时间浪费在一些机械,重复的工作上,如何提升你自己的工作效率才是关键. 今天给大家分享6个 Python 办公小技巧,让你的工作效率倍增,欢迎大家 ...

  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. Mysql 参数最佳实践_MySQL参数调优最佳实践
  2. 问:新来的同事都自愿996,这是内卷还是努力啊?
  3. [导入]身份验证方面的问题
  4. raspberry pi_如何启动新的Raspberry Pi
  5. 【github系列】github上传空目录
  6. Google发布Puppeteer 1.0
  7. 信息孤岛影响_企业专访:以“信息化”冲破信息孤岛
  8. Java、JSP药品库房管理系统
  9. 【C语言编程】切比雪夫多项式
  10. python修改pdf内容_python3.6调整字体Python处理pdf文件库 - PyPDF2详解
  11. Datawhale来到2050!
  12. vue开发PC端响应式项目
  13. matlab表达式比未知数多,matlab求解未知数
  14. tcp端对端 ip点对点
  15. OpenCvSharp 给黑白图像添加自定义的伪彩色
  16. 深入学习sniffer
  17. 游戏开挂的罪与非罪——从“王者荣耀外挂案”说起
  18. 如何将计算机恢复到桌面快捷方式,电脑桌面图标都没了?解答如何轻松恢复桌面图标...
  19. AOP中的概念通知、切点、切面
  20. numpy API 速查手册

热门文章

  1. BCF Dentsu在2019亚太区艾菲奖上大放异彩
  2. 英语阅读常用连接词备忘
  3. Jmeter书中不会教你的(90)——JSONObject not found in namespace
  4. XMind 6各版本功能介绍
  5. 计算机开机就卡住了,电脑开机几分钟就卡死怎么办?
  6. (LDO)MX6207 低消耗电流高 PSRR 500mA CMOS LDO
  7. C语言之运算符 (笔记)
  8. TT语音APP产品体验报告
  9. socket in Linux
  10. FastDFS--原理篇