文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python办公自动化处理的应用场景有哪些

2023-07-02 13:15

关注

本篇内容主要讲解“Python办公自动化处理的应用场景有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python办公自动化处理的应用场景有哪些”吧!

1、Python处理Excel数据

可以使用pandas、xlwings、openpyxl等包来对Excel进行增删改查、格式调整等操作,甚至可以使用Python函数来对excel数据进行分析。

Python办公自动化处理的应用场景有哪些

读取excel表格

import xlwings as xwwb = xw.Book()  # this will create a new workbookwb = xw.Book('FileName.xlsx')  # connect to a file that is open or in the current working directorywb = xw.Book(r'C:\path\to\file.xlsx')  # on Windows: use raw strings to escape backslashes

将matplotlib绘图写入excel表格

import matplotlib.pyplot as pltimport xlwings as xwfig = plt.figure()plt.plot([1, 2, 3])sheet = xw.Book().sheets[0]sheet.pictures.add(fig, name='MyPlot', update=True)

Python办公自动化处理的应用场景有哪些

2、Python处理PDF文本

PDF几乎是最常见的文本格式,很多人有各种处理PDF的需求,比如制作PDF、获取文本、获取图片、获取表格等。Python中有PyPDF、pdfplumber、ReportLab、PyMuPDF等包可以轻松实现这些需求。

Python办公自动化处理的应用场景有哪些

提取PDF文字

import PyPDF2pdfFile = open('example.pdf','rb')pdfReader = PyPDF2.PdfFileReader(pdfFile)print(pdfReader.numPages)page = pdfReader.getPage(0)print(page.extractText())pdfFile.close()

提取PDF表格

# 提取pdf表格import pdfplumberwith pdfplumber.open("example.pdf") as pdf:    page01 = pdf.pages[0] #指定页码    table1 = page01.extract_table()#提取单个表格    # table2 = page01.extract_tables()#提取多个表格    print(table1)

3、Python处理Email

在Python中可以使用smtplib配合email库,来实现邮件的自动化传输,非常方便。

import smtplibimport email# 负责将多个对象集合起来from email.mime.multipart import MIMEMultipartfrom email.header import Header# SMTP服务器,这里使用163邮箱mail_host = "smtp.163.com"# 发件人邮箱mail_sender = "******@163.com"# 邮箱授权码,注意这里不是邮箱密码,如何获取邮箱授权码,请看本文最后教程mail_license = "********"# 收件人邮箱,可以为多个收件人mail_receivers = ["******@qq.com","******@outlook.com"]mm = MIMEMultipart('related')# 邮件正文内容body_content = """你好,这是一个测试邮件!"""# 构造文本,参数1:正文内容,参数2:文本格式,参数3:编码方式message_text = MIMEText(body_content,"plain","utf-8")# 向MIMEMultipart对象中添加文本对象mm.attach(message_text)# 创建SMTP对象stp = smtplib.SMTP()# 设置发件人邮箱的域名和端口,端口地址为25stp.connect(mail_host, 25)  # set_debuglevel(1)可以打印出和SMTP服务器交互的所有信息stp.set_debuglevel(1)# 登录邮箱,传递参数1:邮箱地址,参数2:邮箱授权码stp.login(mail_sender,mail_license)# 发送邮件,传递参数1:发件人邮箱地址,参数2:收件人邮箱地址,参数3:把邮件内容格式改为strstp.sendmail(mail_sender, mail_receivers, mm.as_string())print("邮件发送成功")# 关闭SMTP对象stp.quit()

4、Python处理数据库

数据库是我们常用的办公应用,Python中有各种数据库驱动接口包,支持对数据库的增删改查、运维管理工作。比如说pymysql包对应MySQL、psycopg2包对应PostgreSQL、pymssql包对应sqlserver、cxoracle包对应Oracle、PyMongo包对应MongoDB等等。

对MySQL的连接查询

import pymysql# 打开数据库连接db = pymysql.connect(host='localhost',                     user='testuser',                     password='test123',                     database='TESTDB') # 使用 cursor() 方法创建一个游标对象 cursorcursor = db.cursor()# 使用 execute()  方法执行 SQL 查询 cursor.execute("SELECT VERSION()")# 使用 fetchone() 方法获取单条数据.data = cursor.fetchone()print ("Database version : %s " % data)# 关闭数据库连接db.close()

5、Python处理批量文件

对很多办公场景来说,批量处理文件一直是个脏活累活,Python可以帮你脱离苦海。Python中有很多处理系统文件的包,比如sys、os、shutil、glob、path.py等等。

批量删除不同文件夹下的同名文件夹

import os,shutilimport sysimport numpy as npdef arrange_file(dir_path0):  for dirpath,dirnames,filenames in os.walk(dir_path0):    if 'my_result' in dirpath:      # print(dirpath)      shutil.rmtree(dirpath)

批量修改文件后缀名

import osdef file_rename():    path = input("请输入你需要修改的目录(格式如'F:\\test'):")    old_suffix = input('请输入你需要修改的后缀(需要加点.):')    new_suffix = input('请输入你要改成的后缀(需要加点.):')    file_list = os.listdir(path)    for file in file_list:        old_dir = os.path.join(path, file)        print('当前文件:', file)        if os.path.isdir(old_dir):            continue        if old_suffix != os.path.splitext(file)[1]:            continue        filename = os.path.splitext(file)[0]        new_dir = os.path.join(path, filename + new_suffix)        os.rename(old_dir, new_dir)if __name__ == '__main__':    file_rename()

6、Python控制鼠标

这是很多人的需求,实现对鼠标的自动控制,去做一些流水线的工作,比如软件测试。

Python有个pyautogui库可以任意地去控制你的鼠标。

控制鼠标左击/右击/双击函数以及测试源码

# 获取鼠标位置import pyautogui as pgtry:    while True:        x, y = pg.position()        print(str(x) + " " + str(y))  #输出鼠标位置        if 1746 < x < 1800 and 2 < y < 33:            pg.click()#左键单击        if 1200 < x < 1270 and 600 < y < 620:            pg.click(button='right')#右键单击        if 1646 < x < 1700 and 2 < y < 33:            pg.doubleClick()#左键双击except KeyboardInterrupt:    print("\n")

7、Python控制键盘

同样的,Python也可以通过pyautogui控制键盘。

键盘写入

import pyautogui#typewrite()无法输入中文内容,中英文混合的只能输入英文#interval设置文本输入速度,默认值为0pyautogui.typewrite('你好,world!',interval=0.5)

8、Python压缩文件

压缩文件是办公中常见的操作,一般压缩会使用压缩软件,需要手动操作。

Python中有很多包支持文件压缩,可以让你自动化压缩或者解压缩本地文件,或者将内存中的分析结果进行打包。比如zipfile、zlib、tarfile等可以实现对.zip、.rar、.7z等压缩文件格式的操作。

压缩文件

import zipfiletry:  with zipfile.ZipFile("c://test.zip",mode="w") as f:    f.write("c://test.txt")          #写入压缩文件,会把压缩文件中的原有覆盖except Exception as e:    print("异常对象的类型是:%s"%type(e))    print("异常对象的内容是:%s"%e)finally:    f.close()

解压文件

import zipfiletry:  with zipfile.ZipFile("c://test.zip",mode="a") as f:     f.extractall("c://",pwd=b"root") ##将文件解压到指定目录,解压密码为rootexcept Exception as e:     print("异常对象的类型是:%s"%type(e))     print("异常对象的内容是:%s"%e)finally:     f.close()

9、Python爬取网络数据

python爬虫应该是最受欢迎的功能,也是广大Python爱好者们入坑的主要的原因。

Python中有非常多的包支持爬虫,而爬虫包又分为抓取、解析两种。

比如说requests、urllib这种是网络数据请求工具,也就是抓取包;xpath、re、bs4这种会对抓取下来的网页内容进行解析,称为解析包。

爬取百度首页图片,并保存到本地

# 导入urlopenfrom urllib.request import urlopen# 导入BeautifulSoupfrom bs4 import BeautifulSoup as bf# 导入urlretrieve函数,用于下载图片from urllib.request import urlretrieve# 请求获取HTMLhtml = urlopen("http://www.baidu.com/")# 用BeautifulSoup解析htmlobj = bf(html.read(),'html.parser')# 从标签head、title里提取标题title = obj.head.title# 只提取logo图片的信息logo_pic_info = obj.find_all('img',class_="index-logo-src")# 提取logo图片的链接logo_url = "https:"+logo_pic_info[0]['src']# 使用urlretrieve下载图片urlretrieve(logo_url, 'logo.png')

10、Python处理图片图表

图片处理、图表可视化涉及到图像处理,这也是Python的强项,现在诸如图像识别、计算机视觉等前沿领域也都会用到Python。

在Python中处理图像的包有scikit Image、PIL、OpenCV等,处理图表的包有matplotlib、plotly、seaborn等。

对图片进行黑白化处理

from PIL import Imagefrom PIL import ImageEnhanceimg_main = Image.open(u'E:/login1.png')img_main = img_main.convert('L')threshold1 = 138table1 = []for i in range(256):  if i < threshold1:    table1.append(0)  else:    table1.append(1)img_main = img_main.point(table1, "1")img_main.save(u'E:/login3.png')

生成统计图表

import numpy as npimport matplotlib.pyplot as pltN = 5menMeans = (20, 35, 30, 35, 27)womenMeans = (25, 32, 34, 20, 25)menStd = (2, 3, 4, 1, 2)womenStd = (3, 5, 2, 3, 3)ind = np.arange(N)    # the x locations for the groupswidth = 0.35       # the width of the bars: can also be len(x) sequencep1 = plt.bar(ind, menMeans, width, yerr=menStd)p2 = plt.bar(ind, womenMeans, width,             bottom=menMeans, yerr=womenStd)plt.ylabel('Scores')plt.title('Scores by group and gender')plt.xticks(ind, ('G1', 'G2', 'G3', 'G4', 'G5'))plt.yticks(np.arange(0, 81, 10))plt.legend((p1[0], p2[0]), ('Men', 'Women'))plt.show()

到此,相信大家对“Python办公自动化处理的应用场景有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯