当前位置: 首页 > ds >正文

Python办公之Excel(openpyxl)、PPT(python-pptx)、Word(python-docx)

概述

  • 以下是 Python 中处理 Office 文档的三个常用库的介绍及基础用法
  • 视频教程资料:https://pan.quark.cn/s/a2faff7aab76
    在这里插入图片描述

1. openpyxl(处理 Excel)

用途:专门用于读写 Excel 2010 及以上版本的 .xlsx.xlsm 文件。

核心功能

  • 创建、修改 Excel 工作簿
  • 读取和写入单元格数据
  • 设置单元格格式(字体、颜色、边框等)
  • 操作工作表(新增、删除、重命名)
  • 处理公式、图表等

简单示例

from openpyxl import Workbook# 创建工作簿
wb = Workbook()
# 获取活动工作表
ws = wb.active
# 写入数据
ws['A1'] = '姓名'
ws['B1'] = '年龄'
ws.append(['张三', 25])
ws.append(['李四', 30])
# 保存文件
wb.save('example.xlsx')

2. python-docx(处理 Word)

用途:用于创建和修改 Word 的 .docx 文档(不支持旧版 .doc)。

核心功能

  • 创建文档、添加段落和标题
  • 设置文本格式(字体、大小、加粗、斜体等)
  • 插入表格、图片、列表
  • 调整页面布局(页边距、纸张大小等)
  • 操作页眉页脚

简单示例

from docx import Document
from docx.shared import Inches# 创建文档
doc = Document()
# 添加标题
doc.add_heading('Python 操作 Word 示例', level=1)
# 添加段落
p = doc.add_paragraph('这是一个 ')
p.add_run('加粗的').bold = True
p.add_run(' 文本段落。')
# 添加表格
table = doc.add_table(rows=2, cols=2)
table.cell(0, 0).text = '姓名'
table.cell(0, 1).text = '职业'
table.cell(1, 0).text = '张三'
table.cell(1, 1).text = '工程师'
# 保存文件
doc.save('example.docx')

3. python-pptx(处理 PowerPoint)

用途:用于创建和修改 PowerPoint 的 .pptx 演示文稿。

核心功能

  • 创建幻灯片、设置布局
  • 添加文本框、形状、图片
  • 设置文本格式和段落样式
  • 操作幻灯片(新增、删除、重排)
  • 调整幻灯片背景、主题等

简单示例

from pptx import Presentation
from pptx.util import Inches, Pt# 创建演示文稿
prs = Presentation()
# 添加标题幻灯片
slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(slide_layout)
title = slide.shapes.title
subtitle = slide.placeholders[1]
title.text = "Python 操作 PPT 示例"
subtitle.text = "使用 python-pptx 库"# 添加内容幻灯片
slide_layout = prs.slide_layouts[1]
slide = prs.slides.add_slide(slide_layout)
title = slide.shapes.title
content = slide.placeholders[1]
title.text = "主要功能"
tf = content.text_frame
tf.text = "1. 创建幻灯片\n2. 添加文本和图片\n3. 设置格式"# 保存文件
prs.save('example.pptx')

共同点与注意事项

  • 均为第三方库,需通过 pip install 库名 安装
  • 主要支持新建和修改操作,对复杂格式的解析能力有限
  • 不支持宏文件的完全编辑(如 .xlsm 中的宏代码无法直接修改)

这些库能有效实现办公文档的自动化处理,适合批量生成报告、处理数据等场景。

http://www.xdnf.cn/news/18584.html

相关文章:

  • NVM-Windows 命令大全
  • 量化交易 - 上证50利用动态PE增强模型 - python
  • React 学习笔记1 组件、State
  • 线性回归学习笔记
  • JAVA-15 (2025.08.20学习记录)
  • 集成电路学习:什么是Template Matching模版匹配
  • week3-[循环嵌套]好数
  • 基于Python与Tkinter开发的微博多功能自动化助手
  • Android焦点窗口变化导致遥控键值监听失效问题分析
  • # 重磅发布 | onecode 3.0.1 Base 源码正式开源:AI赋能的企业级开发框架
  • XXL-Job REST API 工具类完全解析:简化分布式任务调度集成
  • (第二十期上)HTML 超链接标签 a
  • 【python与生活】如何从视频中提取关键帧?
  • FPGA DP1.4 With DSC解决方案
  • 【华为OD-C卷-019 对称字符串 100分(python、java、c++、js、c)】
  • Vitest 测试框架完全指南 – 极速单元测试解决方案
  • C++ 常见的排序算法详解
  • AI 产业落地:从 “实验室神话” 到 “车间烟火气” 的跨越
  • Spring Cloud Netflix学习笔记06-Zuul
  • 机器学习中的集成算法与 k 均值聚类算法概述
  • uniapp跨域怎么解决
  • Go 并发编程-channel
  • 详解开源关键信息提取方案PP-ChatOCRv4的设计与实现
  • AI客服系统架构与实现:大模型、知识库与多轮对话的最佳实践
  • Android为ijkplayer设置音频发音类型usage
  • 【C2000常见问题】JTAG仿真器类型和JTAG Debug定位方法
  • 机器学习核心算法笔记:集成学习与聚类算法
  • springboot人事管理系统源码和论文
  • c#语言的学习【02,函数重载】
  • GPT5 / 深度研究功能 无法触发