Python - DocxTemplate - 不在最终文档中打印“&”

问题描述 投票:0回答:1

我正在运行一个脚本,该脚本从 csv 文件中获取名称并将其填充到模板中的各个 Word 文档中。我得到了那部分。但这是我需要一些帮助的地方。

csv 文件中的某些单元格是两个名称,例如“Bobby & Sammy”。当我检查填充的 Word 文档时,它只有“Bobby Sammy”。我知道“&”是一个特殊字符,但我不确定我必须做什么才能正确填充Word文档。

感谢任何和所有帮助。

编辑:代码

csvfn = "Addresses.csv"
df = pd.read_csv('Addresses.csv')


def mkw(n):
tpl = DocxTemplate('Envelope_Template.docx')
df_to_doct = df.to_dict()
x = df.to_dict(orient='records')
context = x
tpl.render(context[n])
tpl.save("%s.docx" %str(n))
wait = time.sleep(random.randint(1,3))
~
print ("There will be ", df2, "files")
~
for i in range(0, df2):
    print("Making file: ",f"{i}," ,"..Please Wait...")
    mkw(i)
    
print("Done! - Now check your files")

~ 表示新的cell,我使用的是JupyterLab

文件是标准的csv文件

Standard CSV File

Without

Empty space where

python docx python-docx
1个回答
0
投票

您可以尝试使用autoescape=True。例如

tpl.render(context[n], autoescape=True)

© www.soinside.com 2019 - 2024. All rights reserved.