使用Python将Word邮件合并字段写入MS Word

时间:2017-01-27 21:40:49

标签: python pandas ms-word mailmerge python-docx

我用Python和Pandas编写了一堆代码,这些代码都是常规和肉汁。但是现在我必须在word文档中填充一堆表。理想情况下,我想把一堆Mergefields写成一个表,然后通过单词与Pandas踢出的csv合并。

我已经开始使用python-docx,但是文档中没有关于编写合并域的内容,除非我弄错了。像这样的东西将是蜜蜂Knees:

 document = Document()

 document.add_heading('Does this merge thing work', 0)

 table = document.add_table(rows=1, cols=3)
 hdr_cells = table.rows[0].cells
 hdr_cells[0].text = 'Qty'
 hdr_cells[1].text = 'Id'
 hdr_cells[2].text = 'Desc'
 row_cells = table.add_row().cells
 row_cells[0].text = "MERGEFIELD yo " #doesn't work, just string. 
 row_cells[1].MERGEFIELD = "Funky"    #MERGEFIELD not a table object
 row_cells[2].mailMerge = "Nice"      #This type of thing would be dreamy

我也熟悉win32com,但我找不到在任何地方编写合并字段的文档。插入合并域时我记录了一个宏,VBA看起来像:

  Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
    "MERGEFIELD  obviosulyyournotagolfer", PreserveFormatting:=True
即使只是将大量合并字段列入文档也会有很大帮助。任何意见都会非常感激。

我也一直在使用docx-mailmerge,但据我所知,它只允许你将数据合并到已有的合并字段中。谢谢你的帮助!

0 个答案:

没有答案