python学习笔记,python处理 Excel、Word、PPT 以及邮件自动化办公

文章目录

  • 前言
  • 一、环境搭建
    • [1. 下载 Python](#1. 下载 Python)
    • [2. 安装 Python](#2. 安装 Python)
  • [二、处理 Excel 文件(openpyxl库)](#二、处理 Excel 文件(openpyxl库))
  • [三、 处理 Word 文件(python-docx库)](#三、 处理 Word 文件(python-docx库))
  • [四、 处理 PPT 文件(python-pptx库)](#四、 处理 PPT 文件(python-pptx库))
  • [五、 自动发送邮件(smtplib和email库)](#五、 自动发送邮件(smtplib和email库))

前言

Python 办公自动化是利用 Python 语言来自动处理办公场景中常见的重复性任务,从而提高工作效率。下面为你介绍在处理 Excel、Word、PPT 以及邮件发送等方面实现办公自动化的方法和示例代码。


一、环境搭建

1. 下载 Python

访问 Python 官方网站,根据你的操作系统(Windows、Mac OS、Linux)选择合适的 Python 版本进行下载。建议下载 Python 3.x 版本,因为 Python 2 已经停止维护。

还可以从小编准备地址下载。

Python 3.7下载地址:https://pan.quark.cn/s/8268bf81f31f
Python 3.9下载地址:https://pan.quark.cn/s/9711a93276ad
Python 3.11下载地址:https://pan.quark.cn/s/9c44793cb24c

2. 安装 Python

访问 Python 官方网站(https://www.python.org/),根据自己的操作系统(Windows、MacOS、Linux)下载并安装 Python 3.x 版本。安装过程中注意勾选 "Add Python to PATH",以便在命令行中能直接使用 Python。

Python 3.7安装教程:https://blog.csdn.net/u014164303/article/details/145620847
Python 3.9安装教程:https://blog.csdn.net/u014164303/article/details/145570561
Python 3.11安装教程:https://blog.csdn.net/u014164303/article/details/145549489

二、处理 Excel 文件(openpyxl库)

  • openpyxl 是一个用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。

  • 示例代码:创建并写入 Excel 文件

c 复制代码
from openpyxl import Workbook

# 创建一个新的工作簿
wb = Workbook()

# 获取活动工作表
ws = wb.active

# 设置表头
headers = ['姓名', '年龄', '职业']
ws.append(headers)

# 添加数据行
data = [
    ['张三', 25, '工程师'],
    ['李四', 30, '教师'],
    ['王五', 28, '设计师']
]

for row in data:
    ws.append(row)

# 保存工作簿
wb.save('employees.xlsx')
  • 示例代码:读取 Excel 文件
c 复制代码
from openpyxl import load_workbook

# 加载工作簿
wb = load_workbook('employees.xlsx')

# 获取活动工作表
ws = wb.active

# 遍历每一行并打印数据
for row in ws.iter_rows(values_only=True):
    print(row)

三、 处理 Word 文件(python-docx库)

  • python-docx 可以创建、修改和读取 Word 文档。
c 复制代码
from docx import Document

# 创建一个新的文档
doc = Document()

# 添加标题
doc.add_heading('Python办公自动化', level=1)

# 添加段落
doc.add_paragraph('这是一个使用 Python 生成的 Word 文档示例。')

# 添加列表
doc.add_paragraph('以下是一些要点:', style='List Bullet')
points = ['自动化提高效率', '减少人为错误', '代码可复用']
for point in points:
    doc.add_paragraph(point, style='List Bullet')

# 保存文档
doc.save('example.docx')
  • 示例代码:读取 Word 文档
c 复制代码
from docx import Document

# 打开文档
doc = Document('example.docx')

# 遍历段落并打印内容
for paragraph in doc.paragraphs:
    print(paragraph.text)

四、 处理 PPT 文件(python-pptx库)

  • python-pptx 用于创建和修改 PowerPoint 演示文稿。
  • 示例代码:创建 PPT 演示文稿
c 复制代码
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 = "Python办公自动化"
subtitle.text = "让工作更高效"

# 添加内容幻灯片
content_slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(content_slide_layout)
shapes = slide.shapes

title_shape = shapes.title
body_shape = shapes.placeholders[1]

# 设置标题和内容
title_shape.text = "主要优点"
tf = body_shape.text_frame
tf.text = "自动化提高效率"

# 保存演示文稿
prs.save('presentation.pptx')

五、 自动发送邮件(smtplib和email库)

  • 可以使用 smtplib 来发送邮件,email 库用于构建邮件内容。
  • 示例代码:发送简单文本邮件
c 复制代码
import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 发件人邮箱和授权码
sender = 'your_email@example.com'
password = 'your_email_password'

# 收件人邮箱
receivers = ['recipient_email@example.com']

# 邮件内容
message = MIMEText('这是一封使用 Python 自动发送的邮件。', 'plain', 'utf-8')
message['From'] = Header(sender, 'utf-8')
message['To'] = Header(", ".join(receivers), 'utf-8')
message['Subject'] = Header('Python 邮件测试', 'utf-8')

# 连接 SMTP 服务器并发送邮件
try:
    smtpObj = smtplib.SMTP('smtp.example.com', 25)
    smtpObj.login(sender, password)
    smtpObj.sendmail(sender, receivers, message.as_string())
    print("邮件发送成功")
except smtplib.SMTPException:
    print("邮件发送失败")
finally:
    smtpObj.quit()
相关推荐
落魄大学生之流水线上谋生计3 分钟前
LangGraph 基本用法指南
java·windows·python·langchain
华研前沿标杆游学27 分钟前
宇树科技对外开放参访?机器人企业参访体验与行业核心价值解析
python
今天会营业31 分钟前
Miniconda安装
python·机器学习
benchmark_cc40 分钟前
Python量化实战:如何检测并剔除历史数据中的“闪崩/乌龙指”异常价格点?
开发语言·人工智能·python·量化·quantdash·量化数据源
伞伞悦读2 小时前
【第14期】Python 基础语法入门:缩进、注释、标识符、代码块和解释器执行
python
Java后端的Ai之路2 小时前
03、Python - 抽象工厂模式
开发语言·python·设计模式·抽象工厂模式·通用智慧
GGG7662 小时前
Python 运维自动化:psutil+IPy 系统与网络信息采集深度实战
运维·python·云原生·pip
可乐鸡翅yeah_2 小时前
个人 / 外包流媒体项目交付实战,M3U8 验收与问题闭环完整工作流
运维·网络·python·低代码·django·m3u8·在线播放
人机(未转人工)3 小时前
python 批量测试ip是否能ping( 多线程 )
python
cndes3 小时前
安装Miniconda+Jupyter notebook
ide·python·jupyter