Performs a Mail Merge on docx (Microsoft Office Word) files
Project description
Installation with pip:
$ pip install docx-mailmerge
Usage
Read the file.
from mailmerge import MailMerge document = MailMerge('input.docx')
List all merge fields.
print document.get_merge_fields()
Merge fields, supplied as kwargs.
document.merge(field1='docx Mail Merge', field2='Can be used for merging docx documents')
Merge table rows. In your template, add a MergeField to the row you would like to designate as template. Supply the name of this MergeField as anchor parameter. The second parameter contains the rows with key-value pairs for the MergeField replacements.
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'}]
Write document to file. This should be a new file, as ZipFile cannot modify existing zip files.
document.write('output.docx')
Todo / Wish List
Preserve formatting of the merge field, currently it defaults to the formatting of the containing text.
Image merging.
Contributing
Fork the repository on GitHub and start hacking
Send a pull request with your changes
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file docx-mailmerge-0.0.2.tar.gz
.
File metadata
- Download URL: docx-mailmerge-0.0.2.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92010610c37307a9df3a7d0905660259de1342f34a635d42e9e32903d08abf00 |
|
MD5 | f5c8b63e54caacee00d071e3094b3aac |
|
BLAKE2b-256 | f5d7e6fefbfd3766da07336b5d3c395e69bdf4a4feefa7ac6c24ed68fe7ca8da |