我用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,但据我所知,它只允许你将数据合并到已有的合并字段中。谢谢你的帮助!