python - Python迭代地将docx模板渲染到文件
问题描述
我正在尝试编写一个自动为我创建文档的代码。我正在使用 python-docx 在 docx 模板中填写值。我在这个特定部分有问题。我希望它能够工作,以便在每个单词 doc 上,无论我生成多少文档,'DN' 值都会增加 1。
例如,如果我想要的文档批次是批次 123,并且我想要该文档的 4 个单独副本,我想要来自“DN”的以下内容:
123-1、123-2、123-3、123-4、
相反,我得到以下信息:
123-1、123-1、123-1、123-1、
此代码适用于底部用于保存文件名的部分,这只是字典部分的问题。如果有人可以提出一种方法来完成这项工作,将不胜感激。
for i in range(0, int(number_of_docs)):
Enters = {
'DN': f'{doc_number}-{+i + 1}',
'Quantity': number_of_docs,
'Date': date,
}
PN_doc.render(Enters)
PN_doc.save(f"{doc_number}-{+i + 1}.docx")
解决方案
因此,对象组合应该按照您实现它的方式工作。对于文档:(也许有一种复制模板的巧妙方法 - 我不知道任何)。只需为每次迭代实例化它也应该完成这项工作
from docxtpl import DocxTemplate
# number_of_docs = ...
# doc_number = ...
# date = ...
for i in range(int(number_of_docs)):
Enters = {
"DN": f"{doc_number}-{i+1}",
"Quantity": number_of_docs,
"Date": date
}
PN_doc = DocxTemplate("your_template.docx")
PN_doc.render(Enters)
PN_doc.save(f"{doc_number}-{i+1}.docx")
推荐阅读
- c - 复制字符串后获取额外字符
- c# - Google Sheet API - C# 中需要的 BatchUpdate 函数帮助
- javascript - 如何使用jquery检查网页中是否存在验证错误?
- asp.net-core-mvc - 使用上次加载的 PartialView 刷新页面
- javascript - 如何使用 Javascript 将样式绑定到 onclick 元素?
- python - 遍历 tkinter 中的按钮
- reactjs - 无法获取 api 响应
- http - 当我应用“tcp 端口 http”过滤器时,Wireshark 未捕获任何数据包
- regex - 正则表达式将 xml 中的链接与最后一个 mod 匹配
- css - 如何在反应中创建通知面板?