对docx(Microsoft Office Word)文件执行邮件合并
项目描述
对Office Open XML (docx) 文件执行邮件合并。可以在不安装Microsoft Office Word的情况下在任何系统上使用。支持Python 2.7、3.3及更高版本。
安装
使用pip安装
$ pip install docx-mailmerge
用法
打开文件。
from mailmerge import MailMerge with MailMerge('input.docx') as document: ...
列出所有合并字段。
print document.get_merge_fields()
以kwargs形式提供合并字段。
document.merge(field1='docx Mail Merge', field2='Can be used for merging docx documents')
合并表格行。在您的模板中,将MergeField添加到您想指定的模板行。将此MergeField的名称作为
document.merge_rows('col1', [{'col1': 'Row 1, Column 1', 'col2': 'Row 1 Column 1'}, {'col1': 'Row 2, Column 1', 'col2': 'Row 2 Column 1'}, {'col1': 'Row 3, Column 1', 'col2': 'Row 3 Column 1'}])
从版本0.2.0开始,您还可以将这些两个独立的调用合并为一个对merge的调用。
document.merge(field1='docx Mail Merge', col1=[ {'col1': 'A'}, {'col1': 'B'}, ])
从版本0.2.0开始,还有一个模板合并的功能。这会为列表中的每个项目创建模板的副本,执行合并,并通过页面或分节符(请参阅函数文档)进行分隔。
当使用此功能时,请确保不要使用注释、脚注、书签等。这是因为这些元素有一个id属性,它必须是唯一的。这个库不处理这一点,导致文档无效。
document.merge_templates([ {'field1': "Foo", 'field2: "Copy #1"}, {'field1': "Bar", 'field2: "Copy #2"}, ], separator='page_break')
将文档写入文件。这应该是一个新文件,因为
document.write('output.docx')
有关更多信息,请参阅单元测试和这篇不错的文章使用Python填充MS Word模板(在实用商业Python上)。
待办事项/愿望清单
图像合并。
贡献
在GitHub上fork存储库并开始修改
创建/修复单元测试
提交包含您更改的拉取请求
单元测试
为了确保库按设计的方式运行,使用了单元测试。在提供新功能或修复错误时,应有一个演示的单元测试。运行测试套件
python -m unittest discover
致谢
此库由 Bouke Haarsma 和贡献者编写。
项目详情
关闭
docx-mailmerge-0.5.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6fbe353bd2f87dc6621d9add7bd04896181a469cc543502f1acc0c2444fd632a |
|
MD5 | a2c674c92efc7e08a6c3927f8048e55e |
|
BLAKE2b-256 | c11ac9290ea9c565cdcf504a2b2e400dfaebe27a64141f87101a6508becef52e |
关闭
docx_mailmerge-0.5.0-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0c9d8a0e9230ec337d7e43014280fe6c0b7773adadbfe5f1d9f764d37f072137 |
|
MD5 | a3e41018ccb23eb806134334230aa0d1 |
|
BLAKE2b-256 | 8fe75dd76f3e1023535e114f45cfab39af7ab716c6f0b29600ee52dff9cc4161 |