我想要一个 docx 文档作为模板,扫描并用其他词替换其中的一些词。 我已经用 txt 成功地完成了,但是我不能用这个词来完成。 我写了以下代码
首先,我创建了一个字典,其中键是“旧词”,适当的值是“新词”
dict={'Name1': 'Billy', 'Vlan': '12345', 'ptp_ip_1': '10.10.10.1', 'ptp_ip_2': '10.10.10.2'}
d=docx.document(r'C:\path\Template.docx')
for p in range(0,len(d.paragraphs)):
par=d.paragraphs[p].text
for i in dict.keys():
par.replace(i,dict[i])
问题是它每行打印 4 次(字典中的键/对数)
例如
'address ptp_ip_1/mask'
'address ptp_ip_1/mask'
'address 10.10.10.1/mask'
'address ptp_ip_1/mask'
'next-hop ptp_ip_2'
'next-hop ptp_ip_2'
'next-hop ptp_ip_2'
'next-hop 10.10.10.2'
然后我首先尝试查看表示“oldword”的键是否在该行上,如果仅在那时才替换字符串,但结果是我只打印了我替换的行 - 而不是那些完好无损
for p in range(0,len(d.paragraphs)):
par=d.paragraphs[p].text
for i in list(dict.keys()):
if i in par:
par.replace(i,dict[i])
else: continue
有什么想法吗?提前致谢