10个Python自动化办公案例,效率神器来袭!

在日常办公中,我们常常会被繁琐、重复的任务占据大量时间。Python 作为一门强大的编程语言,拥有丰富的库和工具,能够轻松实现办公自动化,大大提高工作效率。今天,就来给大家分享 10 个实用的 Python 自动化办公案例及源码。

1. 批量处理 Excel 文件

在处理数据时,经常需要对多个 Excel 文件进行相同操作。利用pandas库可以轻松实现。

import pandas as pd

import os

\# 文件夹路径

folder\_path = 'your\_folder\_path'

for filename in os.listdir(folder\_path):

  if filename.endswith('.xlsx'):

     file\_path = os.path.join(folder\_path, filename)

       df = pd.read\_excel(file\_path)

      \# 这里可以对df进行各种操作,比如新增一列

      df\['new\_column'] = df\['原有列'] \* 2

     df.to\_excel(file\_path, index=False)

作者:victor66
链接:https://juejin.cn/post/7468566313339994152
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2. 自动发送邮件

使用smtplibemail库,自动发送邮件,适用于定期汇报等场景。

import smtplib

from email.mime.text import MIMEText

from email.header import Header

\# 发件人邮箱

sender = "your\[email protected]"

\# 收件人邮箱

receivers = \["recipient\[email protected]"]

\# 邮件内容

message = MIMEText('邮件内容', 'plain', 'utf-8')

message\['From'] = Header("发件人姓名", 'utf-8')

message\['To'] = Header("收件人姓名", 'utf-8')

message\['Subject'] = Header("邮件主题", 'utf-8')

try:

   smtpObj = smtplib.SMTP('smtp.example.com', 587)

   smtpObj.starttls()

   smtpObj.login(sender, "password")

   smtpObj.sendmail(sender, receivers, message.as\_string())

   print("邮件发送成功")

except smtplib.SMTPException as e:

   print("Error: 无法发送邮件", e)

作者:victor66
链接:https://juejin.cn/post/7468566313339994152
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

3. 批量重命名文件

利用os库对指定文件夹下的文件进行批量重命名。

import os

folder\_path = 'your\_folder\_path'

count = 1

for filename in os.listdir(folder\_path):

   if os.path.isfile(os.path.join(folder\_path, filename)):

       new\_name = f'new\_name\_{count}{os.path.splitext(filename)\[1]}'

       os.rename(os.path.join(folder\_path, filename), os.path.join(folder\_path, new\_name))

       count += 1

作者:victor66
链接:https://juejin.cn/post/7468566313339994152
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

4. 数据清洗

使用pandas库对数据进行清洗,去除重复值、处理缺失值等。

import pandas as pd

df = pd.read\_csv('your\_data.csv')

\# 去除重复行

df = df.drop\_duplicates()

\# 处理缺失值,这里用0填充

df = df.fillna(0)

df.to\_csv('cleaned\_data.csv', index=False)

作者:victor66
链接:https://juejin.cn/post/7468566313339994152
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

5. 生成 PPT

借助python-pptx库可以根据数据自动生成 PPT。

from pptx import Presentation

from pptx.util import Inches

prs = Presentation()

title\_slide\_layout = prs.slide\_layouts\[0]

slide = prs.slides.add\_slide(title\_slide\_layout)

title = slide.shapes.title

subtitle = slide.placeholders\[1]

title.text = "PPT标题"

subtitle.text = "PPT副标题"

\# 后续可以添加更多内容,如图片、表格等

prs.save('test.pptx')

作者:victor66
链接:https://juejin.cn/post/7468566313339994152
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

6. 自动化测试

使用Selenium库进行网页自动化测试。

from selenium import webdriver

driver = webdriver.Chrome()

driver.get('https://www.example.com')

\# 查找元素并操作

element = driver.find\_element\_by\_id('element\_id')

element.click()

\# 关闭浏览器

driver.quit()

作者:victor66
链接:https://juejin.cn/post/7468566313339994152
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

7. 提取 PDF 文本

利用PyPDF2库提取 PDF 文件中的文本。

import PyPDF2

pdf\_file = open('your\_pdf.pdf', 'rb')

pdf\_reader = PyPDF2.PdfReader(pdf\_file)

text = ""

for page\_num in range(len(pdf\_reader.pages)):

   page = pdf\_reader.pages\[page\_num]

   text += page.extract\_text()

print(text)

pdf\_file.close()

作者:victor66
链接:https://juejin.cn/post/7468566313339994152
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

8. 自动生成报表

结合pandasmatplotlib库,生成数据报表并可视化。

import pandas as pd

import matplotlib.pyplot as plt

df = pd.read\_csv('data.csv')

\# 假设统计某列数据

data = df\['column\_name'].value\_counts()

data.plot(kind='bar')

plt.title('数据统计报表')

plt.xlabel('类别')

plt.ylabel('数量')

plt.savefig('report.png')

作者:victor66
链接:https://juejin.cn/post/7468566313339994152
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

9. 自动化文件备份

使用shutil库实现文件的自动备份。

import shutil

import os

source\_folder = 'your\_source\_folder'

backup\_folder = 'your\_backup\_folder'

if not os.path.exists(backup\_folder):

   os.makedirs(backup\_folder)

for filename in os.listdir(source\_folder):

   file\_path = os.path.join(source\_folder, filename)

   if os.path.isfile(file\_path):

       shutil.copy2(file\_path, backup\_folder)

作者:victor66
链接:https://juejin.cn/post/7468566313339994152
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

10. 任务调度

使用APScheduler库实现任务的定时执行,比如定时运行数据处理脚本。

from apscheduler.schedulers.blocking import BlockingScheduler

import your\_script

scheduler = BlockingScheduler()

\# 每天凌晨1点执行任务

scheduler.add\_job(your\_script.run, 'cron', hour=1)

scheduler.start()

作者:victor66
链接:https://juejin.cn/post/7468566313339994152
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

通过这些 Python 自动化办公案例,我们可以看到 Python 在提高办公效率方面的巨大潜力。希望大家能将这些技巧运用到实际工作中,让工作更加轻松高效!

你可能感兴趣的:(Python教程,Python,零基础教程,python,Python教程,开发语言,自动化)