Python办公自动化 --- Word专栏在工作学习中有时我们需要将多个word文件进行合并如果每个word文件的页数较多或者word文件比较多进行人工合并,就会比较麻烦,而且耗时这时,用Python来处理,3秒就可以搞定!导入所需的py
Python办公自动化 --- Word专栏
在工作学习中
有时我们需要将多个word文件进行合并
如果每个word文件的页数较多
或者word文件比较多
进行人工合并,就会比较麻烦,而且耗时
这时,用Python来处理,3秒就可以搞定!
导入所需的python库
#库docx是处理docx格式word文档的重要库
from docx import Document
#库docxcompose是python合并或追加 微软Word (.docx)文档的库
from docxcompose.composer import Composer
#库pathlib是文件路径处理的库
from pathlib import Path
具体实现过程
"""
获取文件夹中的所有docx格式的文件,返回生成器files,本案例是从e盘下#的400文件夹里提取所有的docx格式的word文档,如果是doc格式的,需先转为docx。
"""
files = Path('e:/400/').glob('*.docx')
#将生成器files转为列表fiels,方便后面使用
files = list(files)
"""
本案例将第1个docx文件,作为合并后文件的模板,也就是说,合并后的新word文档,其页眉页脚以及页码,是以第1个docx文件的页眉页脚以及页码为准的,忽略其它docx文件的页眉页脚以及页码等。
"""
#读取第1个文件
dmt = Document(files[0])
#第1个文件的末尾添加分页符
dmt.add_page_break()
#将添加了分页符的第1个文件,放到Composer对象中,即成为模板
cp = Composer(dmt)
print('模板文件是:{}'.format(files[0])) #提示哪个是模板文件
"""
#将其它docx格式的word文件,追加到Composer对象中,即依照文件在files列表中由左到右的顺序连接起来。同时,输出每次追加文件的名称及其后缀,方便查看并核对合并的前后顺序是否正确。
"""
#循环追加每个docx文件
for file in files[1:]:
dmt = Document(file)
#每个word文件的末尾添加分页符
dmt.add_page_break()
#将每一个dmt追加到Composer对象cp中
cp.append(dmt)
#提示当前合并的文件是哪个文件
print('已合并文件:{}'.format(file))
"""
最后将对象cp中添加的内容输出到本地,并取名为new.docx
"""
#保存合并后的文件为new.docx
cp.save('e:/new.docx')
#提示合并工作完成
print('完成')
注意事项
上面的代码可以实现批量合并docx文档,非常方便我们解决这类合并需求。
默认情况下,Composer对象将每个docx文件从每个文件的末尾开始追加或合并,而不是从下一页开始合并。如果每个文件都要从下一页合并,需要如上所示添加分页符。
对于含有文字、图片、表格等内容的docx,以上代码可以使用。如果docx文件中含有文本框等内容,以上代码运行时会报错。需要将docx文件中的文本框等处理掉,才能使用以上代码。
更多python办公自动化案例和经验
请继续关注我们的公众号和头条号
后期会持续进行更新
“白领服务工作室”的系列视频课如下:
Python办公自动化---Python入门课程
Python办公自动化---Python进阶课程
Python办公自动化---正则表达式
Python办公自动化---数据分析
Python办公自动化---网络爬虫
Python办公自动化---Excel表格专栏
Python办公自动化---Pdf专栏
Python办公自动化---Word专栏
Python办公自动化---图像专栏
Python办公自动化---人工智能API
Excel/WPS表格 --- 数据处理
如需学习以上视频课程,敬请留言!
作者 | 小白
来源 | 原创
编辑 | 白领服务工作室
以上就是小编给大家带来的关于'word两个文件对比怎么操作?word两个文件对比操作方法'的探讨分享,希望大家通过阅读小编的文章之后能够有所收获!如果大家觉得小编的文章不错的话,可以多多分享给有需要的人。