10个Python自动化办公的脚本分享

 更新时间:2025年02月08日 10:16:37   作者:victor66  
在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了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)

2. 自动发送邮件

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

import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 发件人邮箱
sender = "your\_email@example.com"
# 收件人邮箱
receivers = \["recipient\_email@example.com"]
# 邮件内容
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)

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

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)

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')

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()

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()

8. 自动生成报表

结合pandas和matplotlib库,生成数据报表并可视化。

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')

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)

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()

通过这些 Python 自动化办公案例,我们可以看到 Python 在提高办公效率方面的巨大潜力。

到此这篇关于10个Python自动化办公的脚本分享的文章就介绍到这了,更多相关Python自动化办公内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python微信跳一跳系列之棋子定位颜色识别

    python微信跳一跳系列之棋子定位颜色识别

    这篇文章主要为大家详细介绍了python微信跳一跳系列之棋子定位之颜色识别,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • numpy返回array中元素的index方法

    numpy返回array中元素的index方法

    今天小编就为大家分享一篇numpy返回array中元素的index方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python自动化测试selenium操作checkbox和radiobox技术

    python自动化测试selenium操作checkbox和radiobox技术

    这篇文章主要为大家介绍了python自动化测试selenium核心技术操作checkbox和radiobox的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11
  • Python根据给定模型进行特征权值计算

    Python根据给定模型进行特征权值计算

    在机器学习中,特征权重的计算是理解模型如何做出预测的重要步骤,本文将详细介绍如何使用Python根据给定模型计算特征权重,希望对大家有一定的帮助
    2024-11-11
  • Python 字典中的所有方法及用法

    Python 字典中的所有方法及用法

    这篇文章主要介绍了Python 字典中的所有方法及用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • 如何将python项目部署在一台服务器上

    如何将python项目部署在一台服务器上

    服务器less技术是一种无需管理服务器即可运行应用程序的方法,最流行的服务器less平台是AWS Lambda,这篇文章主要介绍了如何将python项目部署在一台服务器上,需要的朋友可以参考下
    2023-10-10
  • Python内置debug库pdb用法示例详解

    Python内置debug库pdb用法示例详解

    这篇文章主要介绍了Python内置debug库pdb用法的相关资料,Python的内置调试器pdb可以有效帮助开发者掌握程序执行流程和变量状态,通过插入pdb.set_trace()设置断点,或直接从命令行启动pdb,可以进入交互式调试模式,需要的朋友可以参考下
    2024-11-11
  • pytorch中tensor转换为float的实现示例

    pytorch中tensor转换为float的实现示例

    本文主要介绍了pytorch中tensor转换为float,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • 深入了解Python中Lambda函数的用法

    深入了解Python中Lambda函数的用法

    lambda函数是Python中常用的内置函数,又称为匿名函数。和普通函数相比,它只有函数体,省略了def和return,使得结构看起来更精简。本文将详细说说Lambda函数的用法,需要的可以参考一下
    2022-09-09
  • python过滤中英文标点符号的实例代码

    python过滤中英文标点符号的实例代码

    今天小编就为大家分享一篇python过滤中英文标点符号的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07

最新评论