简介:今天,首席CTO Note将与您分享多少列Python-Docx。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!
有一天,我收到了一个需要:我希望使用Python处理一些Word文档,例如更改一些文本和添加评论。
经过简单的搜索,我发现Python-Docx是一个常用的Python库来处理DOCX文档,因此我计划将其用于进一步开发。
官方文件提供了一个简单的例子
Python-docx将文档作为文档对象,段落对象和运行对象提取,提供了围绕这些对象进行简单处理的API
但是,文档中没有注释操作的一部分。在搜索了一些文章之后,我发现我在某个问题中提到了评论的添加,但是我仍然没有得到特定的解决方案。
DOCX文档的底层由XML文件组成
我们可以将xx.docx文件的后缀名称更改为.rar,然后手动解压缩。您可以获取以下文件
在许多文件中,主要是文档。xml文件,文档的内容保留在此处
打开document.xml文件,旁边的标题,页脚,表格和其他特殊项目,删除修改项目,例如样式,一个简单的DOCX文档可以分为三个部分:段落,运行,文本,文本
段落是我们在word.text中看到的一节。文本是真实的内容。run更抽象,我们可以将其理解为片段,即陈述的划分。
为了更好地理解运行是什么,请打开一个Word文档以找到其中一个单词
让我们看一下减压后文档的相应部分
好的,我们可以看到原始的完整句子被分为Word中的许多w:r标签。这是运行的规则。如果句子中有不同的单词风格,它将分开分开,因此我们很难估计是否将句子分为几个片段。
搜索问题中的评论关键字,并发现已在合并请求中给出了添加注释的解决方案。
但这仍然无法满足我的需求。我的目标是将其准确地添加到单词或短语中
打开此贡献者的源代码
实际上,在p标签中插入注释标签引用,并同时将注释标签添加到XX文件中
以同样的方式,我们可以在R标签中插入注释标签参考,并同时将注释标签添加到XX文件中,以实现需要将注释添加到特定单词
本文将总结使用Python-docx软件包处理Word文档时的一些理解和经验。
安装
介绍
python -docx将整个文章视为文档对象的正式文档,基本结构如下:
在Python-Docx中,运行是最基本的单元。每个运行对象中的文本样式都是一致的,也就是说,在从DOCX文件中生成文档对象时,Python-Docx将使用该样式更改基于运行对象的文本。
您也可以使用它来处理官方文档 - 表,基本结构如下:
1.单词表样式的设置
从docx导入 *
document = document()
table = document.add_table(3,3,样式=“中栅格1 Accent 1”)
heading_cells = table.Rows [0] .cells
heading_cells [0] .text ='第一列内容'
heading_cells [1] .text ='第二个内容'
heading_cells [2] .text ='第三列内容'
document.save(r“ d:demo.docx”))
2.获取所有单词表样式
来自docx.enum.Style导入wd_style_type
从docx导入 *
document = document()
样式= Document.Styles
#生成所有桌子样式
对于样式:
如果s.type == wd_style_type.table:
document.add_paragraph(“表样式:”+ s.name)
table = document.add_table(3,3,style = s)
heading_cells = table.Rows [0] .cells
heading_cells [0] .text ='第一列内容'
heading_cells [1] .text ='第二个内容'
heading_cells [2] .text ='第三列内容'
document.add_paragraph(“
”)
首先通过PIP安装Python-docx,然后命令安装Python-docx。
Python-docx使用文档对象表示整个DOCX文档。它包含段落对象的列表。每个段落对应于DOCX文档的段落。
除Word文档中的字符串外,它还包含样式信息,例如字体,大小和颜色。相同样式的连续字符串将存储在运行对象中。
假设DOCX文档具有以下内容:
然后,在Python-DoCX分析后,将生成3个运行对象:
导入DOCX
doc = docx.document()
整数0的标题是标题样式,用于文档的顶部。对于整数1到45是不同的标题,它是主要标题,45是最小字幕。
doc.add_heading('标题0',0)
doc.add_heading('标题1',1)
doc.add_heading('标题2',2)
doc.add_heading('标题3',3)
doc.add_heading('标题4',4)
doc.add_heading('标题5',5)
doc.save('example 3.docx')
1#添加内容
段落= doc_.add_paragraph()
run_ =段落.add_run(“ python博客”)
2#获取字体对象
font_ = run_.font
3#设置行
font_.undline = true
4#设置粗体
font_.bold = true
5#设置字体颜色
font_.color.rgb = rgbColor(0xff,0x00,0x00)
6#设置字体大小
font_.size = pt(20)
7#获取段落格式
段_format = paragraph.paragraph_format
8#设置第一行的结尾
段落_format.first_line_indent =英寸(0.2)
9#设置前距离,单位是磅
段落_format.space_after = pt(10)
10#设置后距离,设备为磅
段落_format.space_before = pt(5)
11#添加表
table_ = doc_.add_table(行= 2,cols = 2,style =“中栅格1 accent 1”)
12#填写第一行和第一列内容
table_.cell(0,0).text =“
13#填写第一行和第二列内容
table_.cell(0,1).text =“”“”“”
14#填写第二行的第一列
table_.cell(1,0).text =“描述”
15#填写第二行和第二列内容
table_.cell(1,1).text =“”“”“”
16#添加图片,宽度属性设置大小
doc_.add_picture(r“/usr/load/download/test.png”,width = inch(4.25))
17#保存文档
doc_.save('python-word内容格式.docx')
结论:以上是首席CTO注释引入的Python-Docx的所有内容。我希望这对每个人都会有所帮助。如果您想了解更多有关此信息的信息,请记住收集并关注此网站。
