python docx runs_别再问我Python怎么操作Word了!

原标题:别再问我Python怎么操作Word了!

前言

在之前的自动化系列文章中,我们分别讲解过,也讲过,今天我们将通过代码讲解Python操作Word文档 docx 的常用方法。

安装

docx 是一个非标准库,需要在命令行(终端)中使用pip即可安装

pip install python-docx

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

前置知识

65b07b89d7c6d28e2fd237fae9d39d76.png

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

文档 Document

段落 Paragraph

文字块 Run

也就是 Document - Paragraph - Run三级结构,这是最普遍的情况。其中 文字块Run 最难理解,并不能完成按照图中所示,两个符号之间的短句是文字块。

通常情况下可以这么理解,但假如 这个短句子中有多种不同的 样式,则会被划分成多个文字块,以图中的第一个黄圈为例,如果给这个短句添加一些细节👇

bdaecc2d76865439103b1e71bee13cb7.png

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

5e3b7ed131d3c6190aaccd8105771ff4.png

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

Word读取 1.打开Word fromdocx importDocument

path = ...

wordfile = Document(path)

2. 获取段落

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

paragraphs = wordfile.paragraphs

print(paragraphs)

3. 获取段落文本内容

用 .text 获取文本

forparagraph inwordfile.paragraphs:

print(paragraph.text)

4. 获取文字块文本内容

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

forparagraph inwordfile.paragraphs:

forrun inparagraph.runs:

print(run.text)

5. 遍历表格

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

# 按行遍历

fortable inwordfile.tables:

forrow intable.rows:

forcell inrow.cells:

print(cell.text)

# 按列遍历

fortable inwordfile.tables:

forcolumn intable.columns:

forcell incolumn.cells:

print(cell.text)

写入Word 1. 创建Word

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

from docx import Document

wordfile = Document

2. 保存文件

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

wordfile.save(...)

... 放需要保存的路径

3. 添加标题

wordfile.add_heading(…, level=…)

ba6b54b8818ada8dfb3bfb297c9fae42.png

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=…)

3c62d1a22cf8c923fdae834357f9bb53.png

设置样式 1. 文字字体设置

a33c52b1f84a1b15ae2559faa425cbf9.png

2.文字其他样式设置 fromdocx importDocument

fromdocx.shared importRGBColor, Pt

wordfile = Document(file)

forparagraph inwordfile.paragraphs:

forrun inparagraph.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. 段落样式设置

默认对齐方式是左对齐,可以自行修改

eff8154fe02624747b87778e4c6bd47c.png

小结

以上就是如何用Python中的docx模块实现Word中的常用操作,只要明白什么类型的操作可以用Python执行,并能 在之后遇到繁琐的任务时想到使用Python即可,以下是几个利用该模块实现办公自动化的案例,希望能够对你有所帮助: 返回搜狐,查看更多

责任编辑:

  • 5
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值