本期学习python自动化生成word文件的一个小案例,word格式套用创造模板。

需求:一批word文件内容大部分相同,但是其中某个名词需要替换。例如:《鸿门宴》文章中的每一段第一个ldquo;沛公rdquo;,改成ldquo;刘邦rdquo;、ldquo;刘季rdquo;、ldquo;汉高祖rdquo;、ldquo;汉太祖rdquo;,并分别保存文件名为:鸿门宴-刘邦.docx、鸿门宴-刘季.docx、鸿门宴-汉高祖.docx、鸿门宴-汉太祖.docx。

代码如下:

# coding=gbk
from docx import Document # 导入docx模块
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT # 段落对其
from docx.shared import Pt # 字号
from docx.oxml.ns import qn # 字体


name_list=[#39;刘邦#39;,#39;刘季#39;,#39;汉高祖#39;,#39;汉太祖#39;] # 设置名称列表
for name in name_list:

    def add_context(context):
        p=document.add_paragraph() # 添加段落
        p.alignment=WD_PARAGRAPH_ALIGNMENT.LEFT # 段落左对齐
        r=p.add_run(str(context)) # 段落里添加文字
        r.font.size=Pt(10) # 字体大小16磅
        p.space_after=Pt(50) # 段后5磅
        p.space_before=Pt(50) # 段前5磅


    # 设置默认字体
    document = Document()
    document.styles[#39;Normal#39;].font.name = u#39;黑体#39;
    document.styles[#39;Normal#39;]._element.rPr.rFonts.set(qn(#39;w:eastAsia#39;), u#39;黑体#39;)

    # 添加段落
    add_context(#39;%s军霸上,未得与项羽相见。沛公左司马曹无伤使人言于项羽曰:ldquo;沛公欲王关中,使子婴为相,珍宝尽有之。rdquo;项羽大怒曰:ldquo;旦日飨士卒,为击破沛公军!rdquo;当是时,项羽兵四十万,在新丰鸿门;沛公兵十万,在霸上。范增说项羽曰:ldquo;沛公居山东时,贪于财货,好美姬。今入关,财物无所取,妇女无所幸,此其志不在小。吾令人望其气,皆为龙虎,成五采,此天子气也。急击勿失!rdquo;#39;% name)
    add_context(#39;楚左尹项伯者,项羽季父也,素善留侯张良。张良是时从%s,项伯乃夜驰之沛公军,私见张良,具告以事,欲呼张良与俱去,曰:ldquo;毋从俱死也。rdquo;张良曰:ldquo;臣为韩王送沛公,沛公今事有急,亡去不义,不可不语。rdquo;良乃入,具告沛公。沛公大惊,曰:ldquo;为之奈何?rdquo;张良曰:ldquo;谁为大王为此计者?rdquo;曰:ldquo;鲰生说我曰:lsquo;距关,毋内诸侯,秦地可尽王也。rsquo;故听之。rdquo;良曰:ldquo;料大王士卒足以当项王乎?rdquo;沛公默然,曰:ldquo;固不如也。且为之奈何?rdquo;张良曰:ldquo;请往谓项伯,言沛公不敢背项王也。rdquo;沛公曰:ldquo;君安与项伯有故?rdquo;张良曰:ldquo;秦时与臣游,项伯杀人,臣活之。今事有急,故幸来告良。rdquo;沛公曰:ldquo;孰与君少长?rdquo;良曰:ldquo;长于臣。rdquo;沛公曰:ldquo;君为我呼入,吾得兄事之。rdquo;张良出,要项伯。项伯即入见沛公。沛公奉卮酒为寿,约为婚姻,曰:ldquo;吾入关,秋毫不敢有
评论
头像
验证码:
相关推荐

blender骨骼导入到threejs方法

threejs制作动态旋转银河系

threejs制作鼠标交互的网页banner




如果未经特殊说明,本站内容皆为原创,转载内容如果侵犯了您的权益,如有侵权请联系管理员删除
联系QQ:2380712278

备案号:皖ICP备19012824号