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()
相关推荐
喵手1 天前
Python爬虫零基础入门【第九章:实战项目教学·第15节】搜索页采集:关键词队列 + 结果去重 + 反爬友好策略!
爬虫·python·爬虫实战·python爬虫工程化实战·零基础python爬虫教学·搜索页采集·关键词队列
Suchadar1 天前
if判断语句——Python
开发语言·python
ʚB҉L҉A҉C҉K҉.҉基҉德҉^҉大1 天前
自动化机器学习(AutoML)库TPOT使用指南
jvm·数据库·python
喵手1 天前
Python爬虫零基础入门【第九章:实战项目教学·第14节】表格型页面采集:多列、多行、跨页(通用表格解析)!
爬虫·python·python爬虫实战·python爬虫工程化实战·python爬虫零基础入门·表格型页面采集·通用表格解析
0思必得01 天前
[Web自动化] 爬虫之API请求
前端·爬虫·python·selenium·自动化
莫问前路漫漫1 天前
WinMerge v2.16.41 中文绿色版深度解析:文件对比与合并的全能工具
java·开发语言·python·jdk·ai编程
木头左1 天前
Backtrader框架下的指数期权备兑策略资金管理实现与风险控制
python
玄同7651 天前
LangChain 核心组件全解析:构建大模型应用的 “乐高积木”
人工智能·python·语言模型·langchain·llm·nlp·知识图谱
喵手1 天前
Python爬虫实战:从零构建 Hacker News 数据采集系统:API vs 爬虫的技术抉择!(附CSV导出 + SQLite 存储)!
爬虫·python·爬虫实战·hacker news·python爬虫工程化实战·零基础python爬虫教学·csv导出
测试老哥1 天前
软件测试之功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例