python学习——操作offce系列

最近毕业季,对于社畜和毕业狗来说,有一些自动化操作办公软件的脚本可以大大提升工作效率
1.用 Python 自动生成 Word 文档并在指定位置插入图片
这个任务需求是我在做一个因子的报告,然后手码了一堆图,如下图所示:
python学习——操作offce系列
然后我想着还有好多个评价指标还要继续码图,不仅如此,之后每周都会有一堆类似的任务等着我,这能忍?
于是乎,略微检索了一下,就发现了可以借助强大的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/

上一篇:Eigen: 实现 meshgrid


下一篇:vue 导出excel 文件流