龙空技术网

python编程实践:python-docx 库操作word文档

风清云淡话编程 235

前言:

如今我们对“python print 输出 字体 大小”大概比较讲究,姐妹们都需要分析一些“python print 输出 字体 大小”的相关资讯。那么小编在网摘上搜集了一些关于“python print 输出 字体 大小””的相关文章,希望姐妹们能喜欢,同学们快快来学习一下吧!

在实习工作中,如果遇到办公自动化,就要用到python操作word。python 有多种用于操作 word 文档的库,python的强大,就是因为库的强大。其中最常用的是 python-docx 库。但是要说明的是python-docx 不支持 doc 文档,只支持docx 格式,如果要使用doc 文档,需要使用word软件,将其文件另存为 docx 格式即可。以下介绍一些使用 python-docx 库的常见的方法:

安装 python-docx 库。

可以使用 pip 、conda、mamba安装,根据您使用的不同环境选择。命令如下:

pip install python-docxconda install python-docx -c conda-forgemamba install python-docx -c conda-forge
打开 Word 文档。

使用 python-docx 库,您可以打开一个已有的 Word 文档或者创建一个新的 Word 文档。以下是一个打开现有 Word 文档的基本示例代码:

import docx# 打开已有的 Word 文档doc = docx.Document('e:/test.docx')
读取Word 文档中的所有段落内容

读取Word 文档中的所有段落内容。示例代码如下:

# 读取文档中的所有段落for para in doc.paragraphs:    print(para.text)
读取Word文档中的表格所有表格内容

读取Word文档中的表格所有表格。示例代码如下:

# 读取文档中的表格for table in doc.tables:    for row in table.rows:        for cell in row.cells:            print(cell.text)
插入图片内容

插入图片内容。示例代码如下:

# 插入一张图片doc.add_picture('e:/image.png')
插入一段新的段落

插入一段新的文本内容。示例代码如下

# 插入一段新的文本doc.add_paragraph('这是一个新的段落。')
修改段落文本内容

修改文档中的第一个段落内容,示例代码如下

# 获取第一个段落的内容,并更新内容。paragraph = doc.paragraphs[0]paragraph.text = '体育盛会的目标,不仅仅是竞技,更是融合了人类追求和平、平等、合作发展的愿望。\n过去几十年,亚洲地区总体保持稳定,经济持续快速增长,成就了“风景这边独好”的亚洲奇迹。作为山海相连、人文相亲的命运共同体,我们要以体育促和平,坚持与邻为善和互利共赢,抵制冷战思维和阵营对抗,将亚洲打造成世界和平的稳定锚。'

使用 doc.paragraphs[0] 访问文档中的第一个段落。接下来paragraph.text = 'New text' 将段落文本修改为 'New text'。paragraph.style = 'Heading 1' 将段落样式修改为 'Heading 1'。注意修改内容有一个换行'\n'的符号,意味着显示的时候,直接换行。

修改段落字体大小

修改文档中字体大小,示例代码如下

from docx.shared import Pt# 设置字体大小16磅paragraph.style.font.size = Pt(16)

导入 Pt 类。用于指定字体大小。设置段落的字体大小为 16磅,可以使用类似的方法来修改文档中的其他格式,例如字体颜色、字体类型和行距等。

修改段落字体颜色

修改文档中字体颜色,示例代码如下

from docx.shared import RGBColor# 字体颜色,红色paragraph.style.font.color.rgb = RGBColor(255, 0, 0)

导入RGBColor类。用于指定不同的颜色。设置字体的颜色红色。

修改段落中文字体

修改文档中字体,示例代码如下

from docx.oxml.ns import qn# 段落中文字体paragraph.style.element.rPr.rFonts.set(qn('w:eastAsia'), '黑体')

导入qn类。用于设定中文字体为黑体。

新建一个文档

创建一个新的Word文档,示例代码如下:

import docxfrom docx.oxml.ns import qnfrom docx.shared import RGBColorfrom docx.shared import Pt#创建一个新的Word文档doc = docx.Document()# 设置正文字型 英文字型:Times New Roman; 中文字型:宋体doc.styles['Normal'].font.name = 'Times New Roman'doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')# 设置正文字体大小doc.styles['Normal'].font.size = Pt(12)# 设置正文字体颜色doc.styles['Normal'].font.color.rgb = RGBColor(0, 0, 0)

创建了一个新的word文档,并设置正文字型 英文字型:Times New Roman; 中文字型:宋体,正文字体大小为12磅,字体颜色为黑色。

操作表格

(1)新建表格

# 表格table = doc.add_table(rows=3, cols=3, style='Table Grid')

使用add_table,建立3行3列的表格。

(2)给表头赋值

# 表头hc = table.rows[0].cellshc[0].text = '姓名'hc[1].text = '年龄'hc[2].text = '性别'

给表头赋值姓名、年龄、性别。需要说明的是:table.cell的单元格的几行几列,编号是从0开始编号的。

(3)给表格赋具体内容

# 具体内容bc1 = table.rows[1].cellsbc1[0].text = '张三'bc1[1].text = '12'bc1[2].text = '男'bc2 = table.rows[2].cellsbc2[0].text = '丽丽'bc2[1].text = '34'bc2[2].text = '女'

给表格赋具体内容,分别为张三、丽丽及年龄和性别。

(4)修改表格定位表格,示例代码如下:

# 获取所有表格对象tables = doc.tables# 获取word中第一个表格对象table = tables[0]

(5)获取单元格对象,示例代码如下:

a11 = table.cell(1, 1) # 获取第二行第二列单元格对象b12= table.cell(1, 2) # 获取第二行第三列单元格对象

需要说明的是:table.cell的单元格的几行几列,编号是从0开始编号的。

(6)修改单元格整体内容示例代码如下:

# 修改单元格全部内容a11.text = '新的内容a11'

通过重新赋值text的内容,修改单元格全部内容。

(7)修改单元格段落内容,示例代码如下:

# 获取a单元格所有段落对象。如果单元格是空,那么只有一个空段落对象ps = a11.paragraphs# 获取第一个段落对象p = ps[0]# 修改整个段落内容p.text = '新的段落a11'# 追加段落内容p.add_run('加段落a11')

操作单元格段落内容的方法与修改段落文本内容类似。

设置页眉

页眉设置,示例代码如下:

# 页眉设置header = doc.sections[0].headerheader.add_paragraph('风轻云淡页眉')
设置页脚

页脚设置,示例代码如下:

#页脚设置footer = doc.sections[0].footerfooter.add_paragraph('风轻云淡页脚')
保存文档

完成对文档内容的操作后,您肯定需要保存 Word 文档。代码如下所示:

# 保存文档doc.save('e:/document.docx')

保存文档时,这个文档不能被其他应用程序打开或者占用,如office已经打开,否者保存失败,程序会报错。如果文档存在,它直接覆盖,而没有任何提示。

总之,使用 python-docx 库操作 Word 文档,其功能非常强大,需要一些基本的编程和 Word 文档的知识。熟练使用它,可以实现自动化生成word文档,自动修改word文档,而达到办公自动化的目的。

标签: #python print 输出 字体 大小 #pythondocx官方文档 #python office库大小 #python docx库用不了 #pythonoffice库的操作