表格是WORD文档中很重要的部分,是表现数据的主要形式之一。在OFFICE软件中可以通过点击插入菜单栏中的表格进行快速添加。那么在python-docx中表格的添加的添加是怎么样的那?笔者将从表格的的添加,等三个部分进行叙述,并将本文的主要内容制作成了思维导图。
WORD软件添加表格 表格的添加主要使用了document.add_table()函数。函数的用法如下:add_table(rows, cols, style=None),rows代表行数,cols代表列数,style是表格的样式。如果style是 None,则表格的样式为文档中的默认样式。添加一个2行3列的空的表格,代码如下:
from docx import Document# 添加表格document = Document()document.add_table(2, 3) # 添加2行3列表格# 也可以写成document.add_table(rows=2, cols=3) # 添加2行3列表格document.save('test.docx')添加2行3列的表格如下图2
添加2行3列的表格效果图 style的参数
在上述代码中没有指定style,那么分别不传递style的参数、传递None和默认的样式'Normal Table',代码如下:
table = document.add_table(rows=2, cols=3) # 添加2行3列表格,不传递styleprint('不传递style:', table.style)document.add_paragraph() # 增加第一个空行table = document.add_table(rows=3, cols=3, style=None) # 添加3行3列表格,style为Noneprint('style为None:', table.style)document.add_paragraph() # 增加第二个空行table = document.add_table(rows=4, cols=3, style='Normal Table') # 添加4行3列表格,style为Normal Tableprint('style为Normal Table:', table.style)运行结果为:图3
style的参数设置后运行结果 添加的3个表格效果见下图4
style的样式设置效果图 style的参数为None,表示表格使用文档默认表格样式;不指定style的参数效果同传递参数None。
使用document.tables属性可以获取docx文档的表格总体对象,通过遍历每个表格可以获取表格的对象,如下代码获取上述程序生成的test.docx中的第一个表格的行数和列数。
document = Document('test.docx') # 读取word文档print('段落数:', len(document.paragraphs)) # 打印段落总数print('表格数:', len(document.tables)) # 打印表格总数print(len(document.tables[0].rows), # 打印第一个表格中的行数 len(document.tables[0].columns)) # 打印第一个表格中的列数获取第一个表格的行数和列数见下图5
读取第一个表格的行数和列数运行结果图 在表格对象列表中表格的索引序号从0开始。
删除表格需要用到
table._element.getparent().remove()函数,如下程序将演示从test.docx中删除第二个表格,然后保存成test1.docx。
document = Document('test.docx') # 打开print('test.docx表格总数:', len(document.tables))table = document.tables[1] # 获取第二个表格对象table._element.getparent().remove(table._element) # 删除表格对象print('test.docx表格总数:', len(document.tables)) # 删除后表格总数document.save('test2.docx') # 保存文档删除表格的运行效果如下图
删除表格的运行结果图 删除表格后test2.docx效果图见下图
test2.docx效果图 至此,笔者总结了在docx文档中添加表格,定位表格和删除表格三部分内容,现将本文的主要内容制作了思维导入见下图。希望对你有用。
Python-docx添加表格图