小編給大家分享一下python將數(shù)據(jù)渲染到docx文檔指定位置的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
目前創(chuàng)新互聯(lián)公司已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、昌邑網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
超簡(jiǎn)單Python將指定數(shù)據(jù)插入到docx模板渲染并生成
最近有一個(gè)需求,制作勞動(dòng)合同表,要從excel表格中將每個(gè)人的數(shù)據(jù)導(dǎo)入到docx勞動(dòng)合同中,重復(fù)量很大,因此可以使用python高效解決。為了讓模板內(nèi)容不變動(dòng),這里使用了類似jinja2的渲染引擎,使用{{ }}插值表達(dá)式把數(shù)據(jù)插入進(jìn)去。也可以使用{% %}循環(huán),條件語(yǔ)法等。
docx模板如下(在需要插值的位置填充 {{}} 表達(dá)式):
首先安裝docxtpl
$ pip install docxtpl
python代碼如下:
from docxtpl import DocxTemplate tpl = DocxTemplate('勞動(dòng)合同.docx') #這些字段從csv中獲取 context = { "name": name, "department": department, "position": position, "time": time, "id": id_card, "addr": addr, } tpl.render(context) tpl.save("{}的勞動(dòng)合同.docx".format(name))
運(yùn)行后就可以在docx中看到效果,{{ field }}這里已經(jīng)被context里面的字段替換了,非常簡(jiǎn)單!
以上是python將數(shù)據(jù)渲染到docx文檔指定位置的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!