方法一:写入新建文档
安装第三方库
pip install python-docx
实现代码
# pip install python-docx
from docx import Document
from docx.shared import Pt
# 简单的打开word,输入数据,关闭word
document = Document()
# 向word里增加段落
document.add_paragraph('hello')
document.save('./doc/test.docx')
# 在一个段落中增加文字
document = Document()
paragraph = document.add_paragraph('Hello, ')
# 增加文字
paragraph.add_run('tgenkidu')
# 设置word字体大小
style = document.styles['Normal']
font = style.font
font.size = Pt(10)
document.save('./doc/test.docx')
运行结果
注意
运行python时,要写入的word文档应处于关闭状态。
方法二:运用模板写入word文档
本例创建了 模板.docx
生成模板2.docx
,也可使用已有模板进行修改,加以应用。
安装第三方库
pip3 install docxtpl -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
因直接安装报错,所以选择了国内的库
创建模板或修改模板
将所填空使用{{ }}
重命名,如图
实现代码
import datetime
from docxtpl import DocxTemplate, RichText
# pip3 install docxtpl -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
def generate_report(tpl_file, report_file):
tpl= DocxTemplate(tpl_file)
context = {
'time' : datetime.datetime.now(),
'biaoti' : "标题",
'mingzi' : "名字"
}
tpl.render(context)
tpl.save(report_file)
def main():
tpl_file = "./doc/模板.docx"
report_file = "./doc/模板2.docx"
generate_report(tpl_file, report_file)
if __name__ == "__main__":
main()
实现效果
注
若不想他仍更改生成好的word文档,可将文档加密使用。
wps加密文档
文件>选项>安全
word加密文档
审阅>限制编辑