利用python-docx和docxcompose实现word合并,自动化办公

期末临近,老师需要合并学生提交的作业,作业是word文档,合并到一个,利于阅卷
想起前几天看过的一篇python自动化办公的帖子,想自己动手试一试

库需求:python-docx、docxcompose、os
输入工作目录,os模块会读取该目录下的文件列表,将其保存在files列表中
遍历该列表,将里面的word文档都插进去

通俗点讲,就是你输入你把要合并的文档都放在一个目录,目录里不要有其他东西
把目录名复制上来,目录里所有的文档将会被打包
你输入要输出文档的名字,他会在目录里输出合并后的文档

import os
from docx import Document
from docxcompose.composer import Composer
print("The software is designed by STL_CC")
print("For more details and useage,just get to my blog:")
print("https://blog.csdn.net/STL_CC/article/details/106387603")
path=input("Please tell me the working directory:")
name=input("Please tell me the name of the new document:")
files = []
for filename in os.listdir(path):
    filename = os.path.join(path,filename)
    files.append(filename)
new_document = Document()
composer=Composer(new_document)
for f in files:
	composer.append(Document(f))
composer.save(path+'\\'+name+'.docx')

学委没装python环境,装起来够麻烦的
所以将程序又用pyinstaller打了包
pyinstaller -F test.py

Python-docx是一个用于创建和修改Microsoft Word (.docx)文件的Python库。它可以用来实现自动化文档处理的功能,例如: 1. 创建文档:可以使用python-docx来创建一个新的Word文档,并向其中添加段落、表格、图片等元素。 ```python from docx import Document # 创建一个Document对象 doc = Document() # 添加一个段落 doc.add_paragraph('这是第一个段落。') # 保存文档 doc.save('example.docx') ``` 2. 修改文档:可以读取一个现有的.docx文件,并对其进行修改,比如更改文本、插入新的段落等。 ```python from docx import Document # 加载已有的Word文档 doc = Document('example.docx') # 获取文档中所有的段落 for para in doc.paragraphs: print(para.text) # 添加一个新段落 doc.add_paragraph('这是新添加的段落。') # 保存修改后的文档 doc.save('modified_example.docx') ``` docxcompose是一个第三方库,它基于python-docx构建,提供了更多的功能来构建复杂的Word文档。 Ubuntu是基于Linux的操作系统,它通常用于服务器和桌面环境。在Ubuntu环境中,可以运行Python脚本,并配合使用python-docxdocxcompose来自动化处理Word文档。 例如,可以在Ubuntu环境中编写一个Python脚本,用于批量生成报告文档: ```python import os from docx import Document from docxcompose.composer import Composer # 遍历某个目录下的所有数据文件 for data_file in os.listdir('data'): # 创建一个新的Word文档 doc = Document() doc.add_paragraph('这是报告的标题。') # 添加内容 doc.add_paragraph(f'数据文件: {data_file}') # 使用docxcompose合并文档 composer = Composer(doc) composer.append(os.path.join('templates', 'template.docx')) # 保存最终的合并文档 composer.save(f'report_for_{data_file}.docx') ``` 在这个脚本中,我们首先创建了一个新文档,然后添加了一些初始内容。接着,我们使用docxcomposeComposer对象来添加一个已有的模板文档,最后将合并后的文档保存到磁盘。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值