「小Mi的MindSpore学习」python在手,word不愁

时隔好久,这不小Mi的python办公系列又更新啦!这次我们学习如何用python处理word文件!

  1. 安装库
    说实话,库的安装其实相比excel来说真的就再简单不过啦,这次小Mi全程就只更新安装了一个库,代码如下:
pip install python-docx
欧凯,那么这部分就已经完成啦!(是不是超简单)
  1. 简单炫技
    这个时候小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:continuefor 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')

【「小Mi的MindSpore学习」python在手,word不愁】那么运行之后便可以见证奇迹啦!
文件夹中多出了三个员工信息的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...

    推荐阅读