1. 开发环境Windows 10 企业版
Pycharm 2019.01 EAP Community Edition
Python 3.7
2. 前言
爬取四川省统计局数据Matplotlib绘图,生成了大量数据图。希望将其自动化保存到word文档中,形成报告。
3. 数据可视化
3.1 数据整理及筛选
3.2 数据绘图
数据结果
绘图
居民消费总指数
4. 图片生成
生成的大量图表
5. 报告组装
5.1 Word文档生成# encoding: utf-8
"""
@version: 1.0
@author: Jarrett
@file: docx_input
@time: 2020/1/30 9:54
"""
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('QR.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')
5.2 报告生成
读取的图片路径和图片文件名
生成的报告图
6. 结论与展望
6.1 采用python对数据进行处理有天然的优势。
6.2 使用Matplotlib库对数据进行绘图比较方便。
6.3 自动生成word文档采用的是docx库。
https://www.jianshu.com/p/1c71a990f9f2