暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python辅助Word实例|在Word文件的末尾添加表格(附源码+限免视频)

626

本系列推文主要介绍了使用Python代码和python-docx库开发Word的案例。在日常工作中,微软的Word软件毫无疑问是编辑单个图文文件的不二选择,但是如果需要批量创建和修改多个相似的Word文件,使用Python代码和python-docx库将成倍提高工作效率。

python-docx库是在Python代码中创建和编辑Microsoft Word(.docx)文件的第三方库,.docx是Microsoft Word 2007之后的文件格式,它是基于Office Open XML标准的压缩文件格式。.doc文件格式曾经是Microsoft Word 2007之前的Word文件格式,但是python-docx库不支持.doc文件格式,因此不能在Python代码中使用python-docx库创建和编辑.doc格式的Word文件。在本系列案例中,将使用Python代码调用python-docx库的 Document、Paragraph、Table、Section等相关对象,从而实现以编程方式对Word文件的段落、表格、节等进行批量编辑。

下面介绍两个Python辅助Word实例,在Word文件的末尾添加表格和删除指定表格。


实例:在Word文件的末尾添加表格


01

实例功能


此案例主要通过使用Document的add_table()方法,从而实现在Word文件的末尾添加表格。当运行此案例的Python代码(B074.py文件)之后,将在“快捷键.docx”文件的末尾添加一个表格,代码运行前后的效果分别如图1和图2所示。


■ 图1

■ 图2


02

实现代码


import docx
myDocument=docx.Document('快捷键.docx')
myData=[['功能说明','Windows','Mac OS'],
        ['编辑菜单','Alt+E','Ctrl+F2+F'],
        ['文件菜单','Alt+F','Ctrl+F2+E'],
        ['视图菜单','Alt+V','Ctrl+F2+V']]
#在Word文件(myDocument)中根据行数、列数和样式创建表格
myTable=myDocument.add_table(rows=4,cols=3,style='Table Grid')
#在单元格中写入数据(文本)
for i in range(len(myData)):
    for j in range(len(myData[i])):
        myTable.rows[i].cells[j].text=myData[i][j]
myDocument.save('我的Word文件-快捷键.docx')


03

代码说明


在上面这段代码中,myTable=myDocument.add_table(rows=4,cols=3,style='Table Grid')表示在Word文件(myDocument)的末尾添加一个4行3列的表格,rows=4表示表格的行数,cols=3表示表格的列数,style='Table Grid'表示创建网格状(有线条的)的表格。myTable.rows[i].cells[j].text=myData[i][j]表示在指定的单元格中写入数据,该代码也可以写成myTable.cell(i,j).text=myData[i][j]。

此案例的源文件是MyCode\B074\B074.py。


扫码观看讲解视频


实例:在Word文件中删除指定表格


01

实例功能


此案例主要通过使用Document的tables属性,从而实现在Word文件中获取指定的表格,并使用remove()方法删除该表格。当运行此案例的Python代码(B081.py文件)之后,将删除“快捷键.docx”文件的第2个表格,代码运行前后的效果分别如图3和图4所示。


■ 图3

■ 图4


02

实现代码


import docx
myDocument=docx.Document('快捷键.docx')
#获取Word文件(myDocument)的第2个表格
myTable1= myDocument.tables[1]._element
#删除Word文件(myDocument)的第2个表格
myTable1.getparent().remove(myTable1)
myDocument.save('我的Word文件-快捷键.docx')


03

代码说明


在上面这段代码中,myDocument.tables表示Word文件(myDocument)的所有表格。myDocument.tables[1]表示Word文件(myDocument)的第2个表格,同理,myDocument. tables[0]表示Word文件(myDocument)的第1个表格,以此类推(初始索引为0)。myDocument. tables[1]._element表示第2个表格元素,myTable1.getparent()表示第2个表格元素的父元素,myTable1. getparent().remove(myTable1)表示在第2个表格元素的父元素中使用remove()方法移除第2个表格元素。

此案例的源文件是MyCode\B081\B081.py。


04

补充说明


阅读和使用本书案例要求读者具备一定的Python语言编程基础和操作Excel的基本常识,关于Python语法基础可以参考Python 基础语法教程(https://www.runoob.com/python/python-basic-syntax.html)。


扫码观看讲解视频



05

源代码下载

关注微信公众号,后台回复关键词 “Python辅助WordV302” 即可获得完整源代码。



06

参考书籍

《Python辅助Word+Excel:让办公更高效》

ISBN:9787302592464

作者:罗帅、罗斌

定价:99.8元

扫码优惠购书


347个典型办公场景

问题描述+解决方案+真实源码+效果截图

Python+Word+Excel实现办公自动化,

成倍提高办公效率

优化数据分析,让工作省点力!

告别重复劳动,蜕变职场精英!





文章转载自清华计算机学堂,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论