目錄
1、Python處理Excel資料
2、Python處理PDF文字
3、Python處理Email
4、Python處理資料庫
5、Python處理批次檔案
6、Python控制滑鼠
7、Python控制键盘
8、Python压缩文件
9、Python爬取网络数据
10、Python处理图片图表
小结
首頁 後端開發 Python教學 Python辦公室自動化十大場景,你都知道嗎?

Python辦公室自動化十大場景,你都知道嗎?

Apr 12, 2023 pm 09:55 PM
python 辦公室自動化

在程式設計世界裡,Python已經是名副其實的網紅了。曾經一個學漢語言的研究生,問我怎麼學Python,因為他們課程論文裡需要用到文本分析,用Python來跑數據。我跟他說,你看兩天文法,就可以上手開乾,不會的再查資料。後來這位同學半個月就用Python把論文數據搞好了。

所以Python最大優勢在於容易學,門檻比Java、C 低非常多,給非程式設計師群體提供了用程式碼工作的可能性。當然Python能成為大眾程式設計工具,不光是因為易學,也因為Python有成千上萬的工具包,遍布各行各業。

Python辦公室自動化十大場景,你都知道嗎?

舉10幾個大眾辦公室常見的例子,Python都能有效率地處理。

1、Python處理Excel資料

可以使用pandas、xlwings、openpyxl等套件來對Excel進行增刪改查、格式調整等操作,甚至可以使用Python函數來對excel資料進行分析。

Python辦公室自動化十大場景,你都知道嗎?

讀取excel表格:

#
import xlwings as xw
wb = xw.Book()# this will create a new workbook
wb = xw.Book('FileName.xlsx')# connect to a file that is open or in the current working directory
wb = xw.Book(r'C:pathtofile.xlsx')# on Windows: use raw strings to escape backslashes
登入後複製

將matplotlib繪圖寫入excel表格:

import matplotlib.pyplot as plt
import xlwings as xw

fig = 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 PyPDF2
pdfFile = open('example.pdf','rb')
pdfReader = PyPDF2.PdfFileReader(pdfFile)
print(pdfReader.numPages)
page = pdfReader.getPage(0)
print(page.extractText())
pdfFile.close()
登入後複製

提取PDF表格:

# 提取pdf表格
import pdfplumber
with 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 smtplib
import email
# 负责将多个对象集合起来
from email.mime.multipart import MIMEMultipart
from 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()
# 设置发件人邮箱的域名和端口,端口地址为25
stp.connect(mail_host, 25)
# set_debuglevel(1)可以打印出和SMTP服务器交互的所有信息
stp.set_debuglevel(1)
# 登录邮箱,传递参数1:邮箱地址,参数2:邮箱授权码
stp.login(mail_sender,mail_license)
# 发送邮件,传递参数1:发件人邮箱地址,参数2:收件人邮箱地址,参数3:把邮件内容格式改为str
stp.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() 方法创建一个游标对象 cursor
cursor = 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,shutil
import sys
import numpy as np
def arrange_file(dir_path0):
for dirpath,dirnames,filenames in os.walk(dir_path0):
if 'my_result' in dirpath:
# print(dirpath)
shutil.rmtree(dirpath)
登入後複製

批次修改檔案後綴名:

import os
def 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 pg
try:
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设置文本输入速度,默认值为0
pyautogui.typewrite('你好,world!',interval=0.5)
登入後複製

8、Python压缩文件

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

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

压缩文件:

import zipfile
try:
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 zipfile
try:
with zipfile.ZipFile("c://test.zip",mode="a") as f:
 f.extractall("c://",pwd=b"root") ##将文件解压到指定目录,解压密码为root
except Exception as e:
 print("异常对象的类型是:%s"%type(e))
 print("异常对象的内容是:%s"%e)
finally:
 f.close()
登入後複製

9、Python爬取网络数据

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

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

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

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

# 导入urlopen
from urllib.request import urlopen
# 导入BeautifulSoup
from bs4 import BeautifulSoup as bf
# 导入urlretrieve函数,用于下载图片
from urllib.request import urlretrieve
# 请求获取HTML
html = urlopen("http://www.baidu.com/")
# 用BeautifulSoup解析html
obj = 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 Image
from PIL import ImageEnhance
img_main = Image.open(u'E:/login1.png')
img_main = img_main.convert('L')
threshold1 = 138
table1 = []
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 np
import matplotlib.pyplot as plt
N = 5
menMeans = (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 groups
width = 0.35 # the width of the bars: can also be len(x) sequence
p1 = 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会成为大众化的编程语言,帮助到更多需要的人。

以上是Python辦公室自動化十大場景,你都知道嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1662
14
CakePHP 教程
1419
52
Laravel 教程
1311
25
PHP教程
1261
29
C# 教程
1234
24
PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

sublime怎麼運行代碼python sublime怎麼運行代碼python Apr 16, 2025 am 08:48 AM

在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

visual studio code 可以用於 python 嗎 visual studio code 可以用於 python 嗎 Apr 15, 2025 pm 08:18 PM

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

notepad 怎麼運行python notepad 怎麼運行python Apr 16, 2025 pm 07:33 PM

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

See all articles