Python 进阶(七): Word 基本操作
发布日期:2021-06-30 11:42:27
浏览次数:3
分类:技术文章
本文共 4512 字,大约阅读时间需要 15 分钟。
目录
1. 概述
Word 是一个十分常用的文字处理工具,通常我们都是手动来操作它,本节我们来看一下如何通过 Python 来操作。
Python 提供了 python-docx
库,该库就是为 Word 文档量身定制的,安装使用 pip install python-docx
命令即可。
2. 写入
首先,我们使用 Python 来创建一个 Word 文档并向其中写入一些内容。
2.1 标题
我们先来创建 Word 文档并向其中添加标题,完整实现代码如下所示:
from docx import Document# 创建文档document = Document()# 标题document.add_heading('标题0', 0)document.add_heading('标题1', 1)document.add_heading('标题2', 2)# 保存document.save('test.docx')
看一下效果:
2.2 段落
我们接着向 Word 文档中添加段落内容,完整实现代码如下所示:
from docx import Document# 创建文档document = Document()# 标题document.add_heading('标题0', 0)document.add_heading('标题1', 1)# 段落document.add_paragraph('你们平时Word文档用的多吗?')# 列表document.add_paragraph('A:我们用的多', style='List Bullet')document.add_paragraph('B:我们用的少', style='List Bullet')document.add_paragraph('C:我们用的不多不少', style='List Bullet')document.add_heading('标题2', 2)# 段落document.add_paragraph('我平时基本都是手动操作Word文档,现在打算利用Python来操作它,' '你们平时是手动操作Word文档?如果是的话,一起来了解下如何通过' 'Python来操作吧!')# 保存document.save('test.docx')
看一下效果:
2.3 表格
我们接着向文档中插入表格,完整实现代码如下所示:
from docx import Document# 创建文档document = Document()# 标题document.add_heading('标题0', 0)document.add_heading('标题1', 1)# 段落document.add_paragraph('你们平时Word文档用的多吗?')# 列表document.add_paragraph('A:我们用的多', style='List Bullet')document.add_paragraph('B:我们用的少', style='List Bullet')document.add_paragraph('C:我们用的不多不少', style='List Bullet')document.add_heading('标题2', 2)# 段落document.add_paragraph('我平时基本都是手动操作Word文档,现在打算利用Python来操作它,' '你们平时是手动操作Word文档?如果是的话,一起来了解下如何通过' 'Python来操作吧!')# 表格table = document.add_table(rows=3, cols=2, style='Table Grid')# 表头hc = table.rows[0].cellshc[0].text = '姓名'hc[1].text = '年龄'# 表体bc1 = table.rows[1].cellsbc1[0].text = '张三'bc1[1].text = '22'bc2 = table.rows[2].cellsbc2[0].text = '李四'bc2[1].text = '33'# 保存document.save('test.docx')
看一下效果:
2.4 图片
我们接着向文档中插入图片,完整实现代码如下所示:
from docx import Documentfrom docx.shared import Inches# 创建文档document = Document()# 标题document.add_heading('标题0', 0)document.add_heading('标题1', 1)# 段落document.add_paragraph('你们平时Word文档用的多吗?')# 列表document.add_paragraph('A:我们用的多', style='List Bullet')document.add_paragraph('B:我们用的少', style='List Bullet')document.add_paragraph('C:我们用的不多不少', style='List Bullet')document.add_heading('标题2', 2)# 段落document.add_paragraph('我平时基本都是手动操作Word文档,现在打算利用Python来操作它,' '你们平时是手动操作Word文档?如果是的话,一起来了解下如何通过' 'Python来操作吧!')# 表格table = document.add_table(rows=3, cols=2, style='Table Grid')# 表头hc = table.rows[0].cellshc[0].text = '姓名'hc[1].text = '年龄'# 表体bc1 = table.rows[1].cellsbc1[0].text = '张三'bc1[1].text = '22'bc2 = table.rows[2].cellsbc2[0].text = '李四'bc2[1].text = '33'# 分页# document.add_page_break()# 图片document.add_picture('pic.jpg', width=Inches(1))# 保存document.save('test.docx')
看一下效果:
2.5 样式
我们再设置一下基本样式,比如:标题居中、字体加粗、首行缩进等,完整实现代码如下所示:
from docx import Documentfrom docx.shared import Inchesfrom docx.enum.text import WD_PARAGRAPH_ALIGNMENTfrom docx.shared import Cm, Pt# 创建文档document = Document()style = document.styles['Normal']# 标题t0 = document.add_heading('标题0', 0)# 居中t0.alignment = WD_PARAGRAPH_ALIGNMENT.CENTERdocument.add_heading('标题1', 1)# 首行缩进两个字符paragraph_format = style.paragraph_formatparagraph_format.first_line_indent = Cm(0.74)# 段落p1 = document.add_paragraph('你们平时')# 字体加粗p1.add_run('Word文档').bold = True# 斜体p1.add_run('用的多吗?').italic = True# 列表document.add_paragraph('A:我们用的多', style='List Bullet')document.add_paragraph('B:我们用的少', style='List Bullet')document.add_paragraph('C:我们用的不多不少', style='List Bullet')document.add_heading('标题2', 2)# 段落p2 = document.add_paragraph('我平时基本都是手动操作Word文档,现在打算利用Python来操作它,' '你们平时是手动操作Word文档?如果是的话,')run = p2.add_run('一起来了解下如何通过Python来操作吧!')# 设置字体大小run.font.size = Pt(12)# 表格table = document.add_table(rows=3, cols=2, style='Table Grid')# 表头hc = table.rows[0].cellshc[0].text = '姓名'hc[1].text = '年龄'# 表体bc1 = table.rows[1].cellsbc1[0].text = '张三'bc1[1].text = '22'bc2 = table.rows[2].cellsbc2[0].text = '李四'bc2[1].text = '33'# 分页# document.add_page_break()# 图片document.add_picture('pic.jpg', width=Inches(1))# 保存document.save('test.docx')
看一下效果:
3. 读取
我们再来读取一下之前 Word 文档中写入的内容,完整代码实现如下所示:
from docx import Document# 打开文档document = Document('test.docx')# 读取标题、段落、列表内容ps = [ paragraph.text for paragraph in document.paragraphs]for p in ps: print(p)# 读取表格内容ts = [table for table in document.tables]for t in ts: for row in t.rows: for cell in row.cells: print(cell.text, end=' ') print()
转载地址:https://ityard.blog.csdn.net/article/details/104571004 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月12日 09时59分31秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
数据在Oracle中的存储
2019-04-30
轨迹规划 trajectory planning
2019-04-30
AGV自动导引运输车
2019-04-30
Trie树(字典树)
2019-04-30
COMP7404 Machine Learing——KNN
2019-04-30
COMP7404 Machine Learing——SVM
2019-04-30
COMP7404 Machine Learing——ROC
2019-04-30
Python量子计算qiskit
2019-04-30
Python的多线程不是真的多线程(GIL全局解释器锁)
2019-04-30
CPython
2019-04-30
特征融合 & FFM(Feature Fusion Module) 特征融合模块
2019-04-30
Python手动读取MNIST数据集
2019-04-30
Python手动读取CIFAR-10数据集
2019-04-30
Pytorch(十一) —— 分布式(多GPU)训练
2019-04-30