时隔良久,这不小Mi的python办公系列又更新啦!这次咱们学习如何用python解决word文件!
- 装置库
说实话,库的装置其实相比excel来说真的就再简略不过啦,这次小Mi全程就只更新装置了一个库,代码如下:
pip install python-docx
欧凯,那么这部分就曾经实现啦!(是不是超简略)
- 简略炫技
这个时候小Mi很执拗,并不想走寻常路,只想用python编写一个word文件怎么办!小Mi通知你,仍旧很简略!
代码参考如下:
from docx import Document # 导入相干库
from docx.shared import Inches,Cm,Pt
from docx.document import Document as Doc
document = Document() # type: Doc
增加大题目(下面一行的正文也十分重要,否则无奈取得提醒)
document.add_heading('快来MindSpore昇思论坛~', 0)
增加段落
p = document.add_paragraph('MindSpore是由华为于2019年8月推出的新一代全场景AI计算框架,它')
run = p.add_run('开发敌对、运行高效、部署灵便!')
run.bold = True # 对run函数的内容进行加粗
run.font.size = Pt(26) # 设置字体的大小
增加图片
document.add_picture('banner.png', width=Cm(10.4))
增加分页符
document.add_page_break()
保存文档
运行成果:
3.高级炫技
太简略了!真的是没有任何难度,所以这不小Mi须要给大家表演一个魔术!
假如场景:
咱们常常是不是须要解决很多文件,这些文件是不是都很相似,那么是不是能够设计一个模板进去,在须要大量编写这些word文件的时候,几行代码轻松搞定!比方公司入职人员的信息统计。
首先设定一个简略的word模板:
而后十分傲慢地附上代码:
from docx import Document
from docx.document import Document as Doc
contracts = [
{ 'company': 'A', 'number': '000451', 'start': '2020.1.6',},{ 'company': 'B', 'number': '000452', 'start': '2021.6.4',},{ 'company': 'C', 'number': '000453', 'start': '2021.10.9',},
]
for emp_dict in contracts:
doc = Document('信息统计.docx') # type: Docfor p in doc.paragraphs: if '{' not in p.text: continue for run in p.runs: if '{' not in run.text: continue # 将占位符换成理论内容 start, end = run.text.find('{'), run.text.find('}') key, place_holder = run.text[start + 1:end], run.text[start:end + 1] run.text = run.text.replace(place_holder, emp_dict[key])doc.save(f'{emp_dict["company"]}信息统计.docx')
那么运行之后便能够见证奇观啦!
文件夹中多出了三个员工信息的word文件,真的是快捷而又高级!
4 附赠技能
当然啦,小Mi的word都只是简略的内容而已,大家能够在这个根底上一直地晋升!
比方如何增加各种题目:
Doc = Document()
Doc.add_heading("这是一级题目",level=1)
Doc.add_heading("这是二级题目",level=2)
Doc.add_heading("这是三级题目",level=3)
Doc.add_heading("这是四级题目",level=4)
Doc.save("题目.docx")
比方字体设置:
英文字体
run = doc1.add_paragraph('设置英文字体:').add_run('This Font is Times New Roman ')
run.font.name = 'Times New Roman'
中文字体
run = doc1.add_paragraph('设置中文字体:').add_run('字体为黑体')
run.font.name='黑体'
r = run._element
r.rPr.rFonts.set(qn('w:eastAsia'), '黑体')
设置字体色彩
run = doc1.add_paragraph('这段为红色:').add_run('这里为红色')
run.font.color.rgb = RGBColor(0xFF, 0x00, 0x00)
好啦,明天的炫技到底完结,这个系列下期给大家推出PDF相干内容!
不过须要揭示大家的是,代码外面有陷阱哦,第一个找进去的兄弟姐们间接送上咱们的纪念品!另外其余复现的盆友们留言抽20-30送!!!(留言模式“复现截图+邮箱+华为云ID”),加入的人越多咱们抽奖的人数就越多哦,dddd(懂得都懂!)
截止日期:2021.11.28
更多全面用法能够参考:https://docxtpl.readthedocs.i...