在之前的自动化系列文章中,我们分别讲解过python操作Excel利器openpyxl,也讲过python操作PDF的几种方式,今天我们将通过代码讲解Python操作Word文档docx的常用方法。
创新互联公司专注于天门企业网站建设,成都响应式网站建设公司,商城开发。天门网站建设公司,为天门等地区提供建站服务。全流程按需开发,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
安装
docx是一个非标准库,需要在命令行(终端)中使用pip即可安装
- pip install python-docx
一定要注意,安装的时候是python-docx而实际调用时均为docx!
前置知识
Word中一般可以结构化成三个部分:
也就是Document - Paragraph - Run三级结构,这是最普遍的情况。其中文字块Run最难理解,并不能完成按照图中所示,两个符号之间的短句是文字块。
通常情况下可以这么理解,但假如这个短句子中有多种不同的 样式,则会被划分成多个文字块,以图中的第一个黄圈为例,如果给这个短句添加一些细节
此时就有4个文字块,同时有时候一个Word文档中是存在表格的,这时就会新的文档结构产生
这时的结构非常类似Excel,可以看成Document - Table - Row/Column - Cell四级结构
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文字块组成
- for paragraph in wordfile.paragraphs:
- for run in paragraph.runs:
- print(run.text)
5. 遍历表格
上面的操作完成的经典三级结构的遍历,遍历表格非常类似
- # 按行遍历
- 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(255, 0, 0) # 字体颜色
3. 段落样式设置
默认对齐方式是左对齐,可以自行修改
小结
以上就是如何用Python中的docx模块实现Word中的常用操作,只要明白什么类型的操作可以用Python执行,并能在之后遇到繁琐的任务时想到使用Python即可,以下是几个利用该模块实现办公自动化的案例,希望能够对你有所帮助。
分享题目:别再问我Python怎么操作Word了
文章源于:http://www.shufengxianlan.com/qtweb/news37/37537.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联