别再问我Python怎么操做Word了!


前言

在以前的自动化系列文章中,咱们分别讲解过👉Python操做Excel利器openpyxl,也讲过👉Python操做PDF的几种方式,今天咱们将经过代码讲解Python操做Word文档docx的经常使用方法。
python

安装

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

pip install python-docx

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

前置知识

Word中通常能够结构化成三个部分:app

  • 文档 Document
  • 段落 Paragraph
  • 文字块 Run

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

一般状况下能够这么理解,但假如这个短句子中有多种不一样的 样式,则会被划分红多个文字块,以图中的第一个黄圈为例,若是给这个短句添加一些细节👇此时就有4个文字块,同时有时候一个Word文档中是存在表格的,这时就会新的文档结构产生这时的结构很是相似Excel,能够当作Document - Table - Row/Column - Cell四级结构svg

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文字块组成flex

for paragraph in wordfile.paragraphs: 
    for run in paragraph.runs: 
        print(run.text)

5. 遍历表格

上面的操做完成的经典三级结构的遍历,遍历表格很是相似ui

# 按行遍历
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(25500# 字体颜色

3. 段落样式设置

默认对齐方式是左对齐,能够自行修改

小结

以上就是如何用Python中的docx模块实现Word中的经常使用操做,只要明白什么类型的操做能够用Python执行,并能在以后遇到繁琐的任务时想到使用Python便可,如下是几个利用该模块实现办公自动化的案例,但愿可以对你有所帮助:


本文为公众号早起Python专栏做者陈熹原创,转载请后台联系,未经受权的任何形式转载均视为侵权!


-END-



wen

mo


song

shu


今天推荐一本数据分析相关的新书:Python数据科学实践(本书由狗熊会推出的一本利用Python介绍数据科学基本过程的著做,经过经典的商业应用案例对数据爬取、数据存储、数据清洗、数据建模的核心Python模块作相应的介绍)点击下方图片能够直达购买页面查看详情与购买,如今京东和当当都有优惠!👇

早起在这里也给你们赠送三本,规则以下:

  • 留言你是如何学习Python数据分析,点赞前三名各赠送一本。

  • 仅限最近一个月未在早起Python得到赠书的粉丝参与。

  • 时间截止9.23日上午九点。

本文分享自微信公众号 - 早起Python(zaoqi-python)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索