Python 读取 Word 详解(python-docx)

文章目录

  • [1 概述](#1 概述)
    • [1.1 第三方库:python-docx](#1.1 第三方库:python-docx)
  • [2 新建文档](#2 新建文档)
    • [2.1 空白文档](#2.1 空白文档)
    • [2.2 标题](#2.2 标题)
    • [2.3 段落](#2.3 段落)
    • [2.4 文本](#2.4 文本)
    • [2.5 字体](#2.5 字体)
    • [2.6 图片](#2.6 图片)
    • [2.7 表格](#2.7 表格)
  • [3 扩展](#3 扩展)
    • [3.1 修改文档](#3.1 修改文档)
    • [3.2 读取文档](#3.2 读取文档)

1 概述

1.1 第三方库:python-docx

python 复制代码
> pip install python-docx

2 新建文档

2.1 空白文档

python 复制代码
import docx
from docx import document

# 1.新建 文档对象
doc = docx.Document()
# [可选] 代码提示。需增加下列代码
# print(type(doc))
assert isinstance(doc, document.Document)  # 格式:doc, doc 的类型

# 2.保存文档,绝对路径 和 相对路径 均可
# doc.save(r'C:\Users\Administrator\Desktop\test.docx')
doc.save('test.docx')

2.2 标题

python 复制代码
import docx
from docx import document

# 1.新建 文档对象
doc = docx.Document()
# [可选] 代码提示。需增加下列代码
# print(type(doc))
assert isinstance(doc, document.Document)  # 格式:doc, doc 的类型

# 2.添加 标题
# 标题
doc.add_heading(text='Python 操作 Word 教程', level=0)

# 章节标题(Level = 0~9)
doc.add_heading(text='第一章:Python 基础', level=1)
doc.add_heading(text='1.1 Python 基础语法', level=2)

# 3.保存文档
doc.save('test.docx')

效果图:

2.3 段落

python 复制代码
import docx
from docx import document

# 1.新建 文档对象
doc = docx.Document()
# [可选] 代码提示。需增加下列代码
# print(type(doc))
assert isinstance(doc, document.Document)  # 格式:doc, doc 的类型

# 2.添加 文本段落
paragraph = doc.add_paragraph('这是第一个文本段落')
paragraph.insert_paragraph_before("在之前,添加段落")
doc.add_paragraph(text='这是第二个文本段落', style='List Bullet')

# 3.保存文档
doc.save('test.docx')

2.4 文本

python 复制代码
import docx
from docx import document

# 1.新建 文档对象
doc = docx.Document()
# [可选] 代码提示。需增加下列代码
# print(type(doc))
assert isinstance(doc, document.Document)  # 格式:doc, doc 的类型

# 2.添加 文本(同 文本段落)
paragraph = doc.add_paragraph()
run = paragraph.add_run('这是一个文本')

# 3.保存文档
doc.save('test.docx')

2.5 字体

python 复制代码
import docx
from docx import document
from docx.shared import Pt
from docx.shared import RGBColor

# 1.新建 文档对象
doc = docx.Document()
# [可选] 代码提示。需增加下列代码
# print(type(doc))
assert isinstance(doc, document.Document)  # 格式:doc, doc 的类型

# 2.添加 文本(同 文本段落)
paragraph = doc.add_paragraph()
run = paragraph.add_run('这是一个文本')

# 3.设置字体
font = run.font
font.name = '微软雅黑'  # 字体名称
font.size = Pt(12)  # 字体大小
font.color.rgb = RGBColor(255, 0, 0)  # 红色
font.bold = True  # 加粗

# 4.保存文档
doc.save('test.docx')

2.6 图片

python 复制代码
import docx
from docx import document
from docx.shared import Cm

# 1.新建 文档对象
doc = docx.Document()
# [可选] 代码提示。需增加下列代码
# print(type(doc))
assert isinstance(doc, document.Document)  # 格式:doc, doc 的类型

# 2.添加 图片,CM:厘米
doc.add_picture('1.png', width=Cm(10), height=Cm(5))

# 3.保存文档
doc.save('test.docx')

2.7 表格

python 复制代码
import docx
from docx import document

# 1.新建 文档对象
doc = docx.Document()
# [可选] 代码提示。需增加下列代码
# print(type(doc))
assert isinstance(doc, document.Document)  # 格式:doc, doc 的类型

# 2.添加 表格
table = doc.add_table(rows=2, cols=3)

# 获取第一行第二列的单元格,并修改内容
cell = table.cell(0, 0)
cell.text = '我是 A1'

# 输出单元格数据
for row in table.rows:
    for cell in row.cells:
        print(cell.text)

# 3.保存文档
doc.save('test.docx')

3 扩展

3.1 修改文档

python 复制代码
import docx
from docx import document

# 1.创建 文档对象
doc = docx.Document('test.docx')
assert isinstance(doc, document.Document)

# 2.修改 文档(其它同理)
doc.paragraphs[0].text = '修改第一个段落'

# 3.保存 文档
doc.save('test.docx')

3.2 读取文档

python 复制代码
import docx
from docx import document

# 1.创建 文档对象
doc = docx.Document('test.docx')
assert isinstance(doc, document.Document)

# 2.读取 文档
# 段落的文本
for p in doc.paragraphs:
    print(p.text)

# 3.保存 文档
doc.save('test.docx')
相关推荐
宁大小白1 天前
pythonstudy Day31
python·机器学习
江上鹤.1481 天前
Day34模块和库的导入
python
我爱鸢尾花1 天前
第十四章聚类方法理论及Python实现
大数据·python·机器学习·数据挖掘·数据分析·聚类
言之。1 天前
Dropbear远程连接
python
dhdjjsjs1 天前
Day34 PythonStudy
python
一个java开发1 天前
Dask 配置文件加载机制说明
大数据·python
bj_zhb1 天前
图片的base64表示
python·llm
飞Link1 天前
【Django】Django 调用外部 Python 程序的完整指南
后端·python·django·sqlite
周杰伦_Jay1 天前
【Java集合与线程池深度解析】底层原理+实战选型+避坑指南(附代码)
java·开发语言·python
一人の梅雨1 天前
淘宝关键字搜索接口深度解析:从动态策略适配到商业数据重构
python·重构