如何建设国际网站首页,前端是做什么的?,用rp怎么做网站功能按钮,网站规划设计是什么上次给大家介绍了 Python 如何操作 Excel #xff0c;是不是感觉还挺有趣的#xff0c;今天为大家再介绍下#xff0c;用 Python 如何操作 Word #xff0c;这个可能跟数据处理关系不大#xff0c;用的也不多#xff0c;不过可以先了解下都能实现什么功能#xff0c;以备…上次给大家介绍了 Python 如何操作 Excel 是不是感觉还挺有趣的今天为大家再介绍下用 Python 如何操作 Word 这个可能跟数据处理关系不大用的也不多不过可以先了解下都能实现什么功能以备不时之需。
安装 python-docx
处理 Word 需要用到 python-docx 库目前版本为 0.8.10 执行如下安装命令
$ pip3 install python-docx################# 运行结果 ################Collecting python-docx Downloading https://files.pythonhosted.org/packages/e4/83/c66a1934ed5ed8ab1dbb9931f1779079f8bca0f6bbc5793c06c4b5e7d671/python-docx-0.8.10.tar.gz (5.5MB) |████████████████████████████████| 5.5MB 553kB/sRequirement already satisfied: lxml2.3.2 in /usr/local/lib/python3.7/site-packages (from python-docx) (4.4.1)Building wheels for collected packages: python-docx Building wheel for python-docx (setup.py) ... done Stored in directory: /Users/mjg/Library/Caches/pip/wheels/18/0b/a0/1dd62ff812c857c9e487f27d80d53d2b40531bec1acecfa47bSuccessfully built python-docxInstalling collected packages: python-docxSuccessfully installed python-docx-0.8.10
OK如果提示以上信息则安装成功。
写入 Word
平时我们在操作 Word 写文档的时候一般分为几部分标题、章节、段落、图片、表格、引用以及项目符号编号等。下面我们就按这几部分如何用 Python 操作来一一介绍。
标题
文档标题创建比较简单通过 Document() 创建出一个空白文档只要调用 add_heading 方法就能创建标题。
# word_1.py
# 导入库from docx import Documentfrom docx.shared import Ptfrom docx.shared import Inchesfrom docx.oxml.ns import qn
# 新建空白文档doc1 Document()
# 新增文档标题doc1.add_heading(如何使用 Python 创建 Word,0)
# 保存文件doc1.save(word1.docx)
这样就完成了创建文档和文章标题的操作下面通过命令 python word_1.py 运行程序会生成名为 word1.docx 的文档打开文章显示如下图所示 标题
章节与段落
有了文章标题下面我们来看章节和段落是怎么操作的在上面代码后面增加章节和段落操作的代码如下
# word_1.py
# 导入库from docx import Documentfrom docx.shared import Ptfrom docx.shared import Inchesfrom docx.oxml.ns import qn
# 新建空白文档doc1 Document()
# 新增文档标题doc1.add_heading(如何使用 Python 创建 Word,0)
# 创建段落描述doc1.add_paragraph(我们平时使用 Word 用来做文章的处理可能没想过它可以用 Python 生成下面我们就介绍具体如何操作……)
# 创建一级标题doc1.add_heading(安装 python-docx 库,1)
# 创建段落描述doc1.add_paragraph(现在开始我们来介绍如何安装 python-docx 库具体需要以下两步操作)
# 创建二级标题doc1.add_heading(第一步安装 Python,2)
# 保存文件doc1.save(word1.docx)
上面我们说了 add_heading 方法用来增加文章标题不过通过上面代码我们能知道这个方法的第二上参数为数字其实这个就是用来标示几级标题的在我们平时就用来标示章节。add_paragraph 方法则是用来在文章中增加段落的那我们现在就通过命令 python word_1.py 运行程序看下效果 章节段落
字体和引用
前面我们通过 add_paragraph 方法增加了两个段落现在我们就看下如何对段落中字体如何操作以及引用段落的操作。继续修改以上代码增加对文章字体字号、加粗、倾斜等操作具体代码如下
# word_1.py
# 导入库from docx import Documentfrom docx.shared import Ptfrom docx.shared import Inchesfrom docx.oxml.ns import qnfrom docx.shared import RGBColor
# 新建空白文档doc1 Document()
# 新增文档标题doc1.add_heading(如何使用 Python 创建 Word,0)
# 创建段落描述doc1.add_paragraph(我们平时使用 Word 用来做文章的处理可能没想过它可以用 Python 生成下面我们就介绍具体如何操作……)
# 创建一级标题doc1.add_heading(安装 python-docx 库,1)
# 创建段落描述doc1.add_paragraph(现在开始我们来介绍如何安装 python-docx 库具体需要以下两步操作)
# 创建二级标题doc1.add_heading(第一步安装 Python,2)
# 创建段落添加文档内容paragraph doc1.add_paragraph(这是第一步的安装描述)
# 段落中增加文字并设置字体字号run paragraph.add_run((注意这里设置了字号为20))run.font.size Pt(20)
# 设置英文字体run doc1.add_paragraph(这里设置英文字体).add_run(This Font is Times New Roman )run.font.name Times New Roman
# 设置中文字体run doc1.add_paragraph(这里设置中文字体).add_run(当前字体为黑体)run.font.name黑体r run._elementr.rPr.rFonts.set(qn(w:eastAsia), 黑体)
# 设置斜体run doc1.add_paragraph(这段设置).add_run(文字的是斜体 )run.italic True
# 设置粗体run doc1.add_paragraph(这段再设置).add_run(这里设置粗体).bold True
# 设置字体带下划线run doc1.add_paragraph(这段为下划线).add_run(这里设置带下划线).underline True
# 设置字体颜色run doc1.add_paragraph(这段字体为红色).add_run(这里设置字体为红色)run.font.color.rgb RGBColor(0xFF, 0x00, 0x00)
# 增加引用doc1.add_paragraph(这里是我们引用的一段话人生苦短我用Python。, styleIntense Quote)
# 保存文件doc1.save(word1.docx)
上面代码主要是针对段落字体的各种设置每段代码都标有注释应该比较容易理解现在通过命令 python word_1.py 运行程序看下效果 字体引用
项目列表
我们平时在使用 Word 时为了能展示更清晰会用到项目符号和编号将内容通过列表的方式展示出来下面我们新建一个文件 word_2.py 并编写如下代码
# word_2.py# 导入库from docx import Documentfrom docx.shared import Ptfrom docx.shared import Inchesfrom docx.oxml.ns import qn# 新建文档doc2 Document()doc2.add_paragraph(哪个不是水果)# 增加无序列表doc2.add_paragraph( 苹果, styleList Bullet)doc2.add_paragraph( 香蕉, styleList Bullet)doc2.add_paragraph( 馄炖, styleList Bullet)doc2.add_paragraph(2020年度计划)# 增加有序列表doc2.add_paragraph( 每周健身一天, styleList Number)doc2.add_paragraph( 学习50本书, styleList Number)doc2.add_paragraph( 减少加班时间, styleList Number)# 保存文件doc2.save(word2.docx)
现在通过命令 python word_2.py 运行程序看下效果 项目列表
图片和表格
我们平时编辑文章时插入图片和表格也是经常使用到的那用 Python 该如何操作插入图片和表格首先我们随便找了个图片我这用了 Python 安装时的一张截图文件名为 python_install.png然后在 word_2.py 文件中增加如下代码
# word_2.py# 导入库from docx import Documentfrom docx.shared import Ptfrom docx.shared import Inchesfrom docx.oxml.ns import qn# 新建文档doc2 Document()doc2.add_paragraph(哪个不是水果)# 增加无序列表doc2.add_paragraph( 苹果, styleList Bullet)doc2.add_paragraph( 香蕉, styleList Bullet)doc2.add_paragraph( 馄炖, styleList Bullet)doc2.add_paragraph(2020年度计划)# 增加有序列表doc2.add_paragraph( 每周健身一天, styleList Number)doc2.add_paragraph( 学习50本书, styleList Number)doc2.add_paragraph( 减少加班时间, styleList Number)doc2.add_heading(图片,2)# 增加图像doc2.add_picture(python_install.png, widthInches(5.5))doc2.add_heading(表格,2)# 增加表格这是表格头table doc2.add_table(rows1, cols3)hdr_cells table.rows[0].cellshdr_cells[0].text 编号hdr_cells[1].text 姓名hdr_cells[2].text 职业# 这是表格数据records ( (1, 张三, 电工), (2, 张五, 老板), (3, 马六, IT))# 遍历数据并展示for id, name, work in records: row_cells table.add_row().cells row_cells[0].text str(id) row_cells[1].text name row_cells[2].text work# 手动增加分页doc2.add_page_break()# 保存文件doc2.save(word2.docx)
OK现在再来让我们再来看下效果 图片表格
读取 Word 文件
上面写了很多用 Python 创建空白 Word 文件格式化字体并保存到文件中接下来我们再简单介绍下如何读取已有的 Word 文件请看如下代码
# word_3.py# 引入库from docx import Document# 打开文档1doc1 Document(word1.docx)# 读取每段内容pl [ paragraph.text for paragraph in doc1.paragraphs]print(###### 输出word1文章内容)# 输出读取到的内容for i in pl: print(i)# 打开文档2doc2 Document(word2.docx)print(\n###### 输出word2文章内容)pl2 [ paragraph.text for paragraph in doc2.paragraphs]# 输出读取到的内容for j in pl2: print(j)# 读取表格材料并输出结果tables [table for table in doc2.tables]for table in tables: for row in table.rows: for cell in row.cells: print (cell.text,end ) print() print(\n)
以上代码是将之前我们输出的两个文档内容都读取出来当然这里只是打印到控制台并没有做其他处理。现在我们来执行命令 python word_3.py 把代码执行看下结果 读取并打印
总结
本文为大家介绍了 Python 中如何操作 Word 文档其中写入文件时我们常用各种标题段落字体设置等会比较复杂这里只是简单介绍了最常用的几种方法如果想了解更多请参考文末官网介绍之后会为大家介绍其他类型文件的操作方式希望大家能多多关注。