最近毕业季,对于社畜和毕业狗来说,有一些自动化操作办公软件的脚本可以大大提升工作效率
1.用 Python 自动生成 Word 文档并在指定位置插入图片
这个任务需求是我在做一个因子的报告,然后手码了一堆图,如下图所示:
然后我想着还有好多个评价指标还要继续码图,不仅如此,之后每周都会有一堆类似的任务等着我,这能忍?
于是乎,略微检索了一下,就发现了可以借助强大的python替我们完成这个枯燥乏味繁琐的工作,操作步骤如下所示:
首先需要的工具包名为:python-docx
步骤大概是如下的几步:
1.建立一个文档对象(可自动使用默认模板建立,也可以使用已有文件)。
2.设置文档的格式(默认字体、页面边距等)。
3.在文档对象中加入段落文本、表格、图像等,并指定其样式。
4.保存文档。
from docx import Document
from docx.shared import Inches
document = Document()
document.add_heading('Document Title', 0)
p = document.add_paragraph('A plain paragraph having some ')
p.add_run('bold').bold = True
p.add_run(' and some ')
p.add_run('italic.').italic = True
document.add_heading('Heading, level 1', level=1)
document.add_paragraph('Intense quote', style='Intense Quote')
document.add_paragraph(
'first item in unordered list', style='List Bullet'
)
document.add_paragraph(
'first item in ordered list', style='List Number'
)
document.add_picture('monty-truth.png', width=Inches(1.25))
records = (
(3, '101', 'Spam'),
(7, '422', 'Eggs'),
(4, '631', 'Spam, spam, eggs, and spam')
)
table = document.add_table(rows=1, cols=3)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Qty'
hdr_cells[1].text = 'Id'
hdr_cells[2].text = 'Desc'
for qty, id, desc in records:
row_cells = table.add_row().cells
row_cells[0].text = str(qty)
row_cells[1].text = id
row_cells[2].text = desc
document.add_page_break()
document.save('demo.docx')
参考资料:https://pythoninoffice.com/
https://python-docx.readthedocs.io/en/latest/