转载请注明:陈熹 chenx6542@foxmail.com (简书号:半为花间酒)

若公众号内转载请联系公众号:早起Python

文中的截图均为原创,转载请注明来源

安装

docx 是一个非标准库,需要在命令行中安装

命令行:

Windows:徽标键 + R —— 输入cmd + 回车

pip install python-docx

Mac:打开终端/Terminal输入

pip3 install python-docx

一定要注意,安装的时候是 python-docx ,而实际调用时均为 docx

前置知识

Word中一般可以结构化成三个部分:

文档 Document

段落 Paragraph

文字块 Run

也就是 Document - Paragraph - Run 三级结构,这是最普遍的情况

其中文字块 Run 最难理解,并不能完成按照图中所示,两个符号之间的短句是文字块。通常情况下可以这么理解,但假如这个短句子中有多种不同的 样式,则会被划分成多个文字块,以图中的第一个黄圈为例,如果给这个短句添加一些细节:

此时就有4个文字块

有时候一个Word文档中是存在表格的,这时就会新的文档结构产生

这时的结构非常类似Excel,可以看成Document - Table - Row/Column - Cell 四级结构

读取Word

1. 打开Word

from docx import Document

path = ...

wordfile = Document(path)

2. 获取段落

一个word文件由一个或者多个paragraph段落组成

paragraphs = wordfile.paragraphs

print(paragraphs)

3. 获取段落文本内容

用 .text 获取文本

for paragraph in wordfile.paragraphs:

print(paragraph.text)

4. 获取文字块文本内容

一个paragraph段落由一个或者多个run文字块组成

for paragraph in wordfile.paragraphs:

for run in paragraph.runs:

print(run.text)

5. 遍历表格

上面的操作完成的经典三级结构的遍历,遍历表格非常类似

# 按行遍历

for table in wordfile.tables:

for row in table.rows:

for cell in row.cells:

print(cell.text)

# 按列遍历

for table in wordfile.tables:

for column in table.columns:

for cell in column.cells:

print(cell.text)

写入Word

1. 创建Word

只要不指定路径,就默认为创建新Word文件

from docx import Document

wordfile = Document()

2. 保存文件

对文档的修改和创建都切记保存

wordfile.save(...)

... 放需要保存的路径

3. 添加标题

wordfile.add_heading(…, level=…)

4. 添加段落

wordfile.add_paragraph(...)

wordfile = Document()

wordfile.add_heading('一级标题', level=1)

wordfile.add_paragraph('新的段落')

5. 添加文字块

wordfile.add_run(...)

6. 添加分页

wordfile.add_page_break(...)

7. 添加图片

wordfile.add_picture(..., width=…, height=…)

设置样式

1. 文字字体设置

2. 文字其他样式设置

from docx import Document

from docx.shared import RGBColor, Pt

wordfile = Document(file)

for paragraph in wordfile.paragraphs:

for run in paragraph.runs:

run.font.bold = True # 加粗

run.font.italic = True # 斜体

run.font.underline = True # 下划线

run.font.strike = True # 删除线

run.font.shadow = True # 阴影

run.font.size = Pt(20) # 字号

run.font.color.rgb = RGBColor(255, 0, 0) # 字体颜色

3. 段落样式设置

默认对齐方式是左对齐

python办公代码_[Python] 自动化办公 docx操作Word基础代码相关推荐

  1. python自动化办公入门-[Python] 自动化办公 docx操作Word基础代码

    转载请注明:陈熹 chenx6542@foxmail.com (简书号:半为花间酒) 若公众号内转载请联系公众号:早起Python 文中的截图均为原创,转载请注明来源 安装 docx 是一个非标准库, ...

  2. python做excel自动化-Python如何控制Excel实现自动化办公

    Python如何控制Excel实现自动化办公 发布时间:2020-04-07 09:51:44 来源:亿速云 阅读:132 作者:小新 这篇文章主要给大家讲解的是Python如何控制Excel实现自动 ...

  3. C# DocX操作Word文档(.docx)

    using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Sy ...

  4. python自动化办公实例展示_python自动化办公?学这些就够用了

    知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手? python在自动化办公领域越来越受欢迎,批量处 ...

  5. python自动化办公是什么_Python自动化办公知识点整理汇总

    知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...

  6. python interpreter 中没有torch_python自动化办公之 Python 解析 PDF

    上次给大家介绍了 Python 如何操作 Word 和 Excel ,而今天想为大家再介绍下,用 Python 如何解析 PDF ,PDF 格式不像前面两个那么规范,从它的表现来看,它更像是一张图片, ...

  7. python sqlserver 列名_报表自动化,三流用Excel,二流用Python,一流用它

    从事数据工作的人都知道,企业每天都要做很多报表,这个过程当中会涉及到很多手工操作和常规性报表.为了减少人工介入,节省工作时间,我们会想办法将一部分操作用工具或代码来替代,这个过程就称为报表自动化. 报 ...

  8. python下拉菜单_python-web自动化:下拉列表操作

    非select/option元素: 1.触发下拉列表出现 2.等待下拉列表中的元素出现,然后进行选择元素即可. select/option元素: 下拉框操作-Select类 selenium提供Sel ...

  9. python就业视频_[Python] python就业班 900集 视频学习教

    01基础\* }+ F/ M- b6 v0 x) F( j% S 02Python核心编程\ 03数据结构与算法\5 C0 ~5 l2 x; S# k2 Z" a/ _" {) q ...

最新文章

  1. Scala的继承和多态
  2. 台湾大学林轩田机器学习技法课程学习笔记15 -- Matrix Factorization
  3. csc.exe的环境变量设置
  4. MariaDB:删除数据库报错:error: 'Error dropping database (can't rmdir './shiro', errno: 39)'
  5. pandas分组计算平均值_python – 如何计算在Pandas中另一列上分组的平均值
  6. 拨开云雾见日月:SQL Server 调优之查询存储
  7. windows操作系统_windows下用深度系统安装器安装深度操作系统实现双系统分别运行...
  8. 开源界也要封闭,OpenSource能否继续无国界 | 凌云时刻
  9. V4L2编程之USB摄像头采集jpeg图像
  10. SVN update拒绝访问,clean up失败
  11. Android中蓝牙的基本使用----BluetoothAdapter类简介
  12. XMind2020安装教程
  13. 以卖单车为例形象理解23种设计模式
  14. Cannot satisfy the following dependencies for tc解决
  15. 聪明人却没产生好点子——Why Smart People Have Bad Ideas
  16. SAP系统资产年结步骤、以及资产年结错误后处理方式
  17. TcaplusDB祝大家劳动节快乐
  18. 常用的OCR文字识别软件有哪些
  19. 最全的pythonset集合方法(详尽)
  20. linux gcc 6源码安装教程,CentOS 6.5下源码安装GCC-4.8.2安装笔记整理

热门文章

  1. HikariCP 高性能的 JDBC 连接池
  2. Tomcat端口占用相关的问题
  3. maven安装使用修改镜像仓库
  4. PostgreSQL的高可用与数据复制方案
  5. DNS域名解析服务(正向解析、反向解析、主从服务器)
  6. jQuery如何选择表格每行中的第三列?
  7. MyBatis对于Java对象里的枚举类型处理
  8. Win32EXE.tpl 代码详解
  9. exchange和域得命名
  10. MySQL8.0 版本的安装