python3根据excel表数据自动生成word格式数据报告
目录
- 1. 完成xlsx数据读取
- 2.对数据做一些处理
- 3.生成图表
- 4.创建word文件
- 5.将分析结果保存入word文件中
本文主要是讲如何根据简单的xlsx数据,生成word数据报告,首先需要先读取与分析xlsx中的数据,通过排序等等方式固定好分析哪些方面,然后来编写对应的代码,对应的示例xlsx文件如下:
1. 完成xlsx数据读取
我们在读取xlsx文件时使用pandas读取与操作,代码如下:
import pandas as pd
# 读取excel文件
df = pd.read_excel("datas.xlsx",sheet_name='Sheet1',engine="openpyxl")
df.columns = ["预约单号","用户名","支付时间","支付金额"];
print(df)
打印结果如下:
2.对数据做一些处理
求支付金额的总平均值或者总订单数量,示例代码如下:
orderCount = df["预约单号"].count()
orderPaySum = df["支付金额"].sum()
orderPayMean = df["支付金额"].mean()
print("总订单数{0},支付总额{1}元,支付每单平均值为{2:.2f}元".format(orderCount,orderPaySum,orderPayMean))
输出结果如下:
总订单数74,支付总额10260元,支付每单平均值为138.65元
将数据按照一个支付时间进行分组,并对每日的支付总额进行求和,示例代码如下:
根据支付时间分组并求和,并重新更改了head
df2 = df.groupby(by='支付时间')["支付金额"].sum().reset_index()
df2.columns = ["paydate","total"]
print(df2)
打印结果截图如下:
将数据按照一个支付时间进行分组,并对每日的支付金额求平均值,示例代码如下:
df2 = df.groupby(by='支付时间')["支付金额"].mean().reset_index()
df2.columns = ["paydate","mean"]
print(df2)
打印结果截图如下:
统计每日的订单数量,示例如下:
df2 = df.groupby(by='支付时间')["预约单号"].count().reset_index()
df2.columns = ["paydate","total"]
print(df2)
打印结果表如下:
3.生成图表
根据上方生成的数据生成按照日期进行分组的柱状图,下方定义了一个生成柱状图的方法,使用matplotlib.pyplot
def showPlot(df,xkey,ykey,title,xlabel,ylabel):'''@param df DataFrame数据@param xkey 横向轴数据对应的列名@param ykey 纵向轴数据对应的列名@param title 柱状图图表标题@param xlabel x轴名称@param ylabel y轴名称'''pl.bar(df[xkey],df2[ykey],color="orange")pl.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签pl.rcParams['axes.unicode_minus']=False #用来正常显示负号pl.title(title,fontsize=16)pl.xlabel(xlabel)pl.ylabel(ylabel)pl.xticks(df.paydate,rotation="30")pl.tight_layout()pl.show()
总数和平均值生成柱状图截图如下:
4.创建word文件
如何创建一个docx文件,这个将要用到python-docx中的document,安装(默认pip3)
pip install python-docx
示例代码如下:
from docx import Document
from docx.shared import Inches
document = Document()
# 创建一个段落
document.add_paragraph('这是一个段落')
# 添加标题
document.add_heading('这是标题',level=1)
# 添加页面分割符
document.add_page_break()
# 添加表格
table = document.add_table(rows=6,cols=6)
cell = table.cell(0,5)
cell.text = "0,5"
# 添加图片
document.add_picture('data.jpg',width=Inches(1.25))
#保存docx文件
document.save("new.docx")
5.将分析结果保存入word文件中
将生成的图表保存为图片文件,将原有的方法中pl.show修改如下:
pl.savefig(savepath)
# 如果不加下面这一行时多次调用svaefig会导致图片数据重叠
pl.close()
开始创建word文件代码,具体代码如下:
from docx import Document
from docx.shared import Inches
from docx.enum.text import WD_PARAM_ALIGNMENT
#此处省略之前的统计保存图片文件代码
document = Document()
# 添加标题
title = document.add_heading('简单的订单数据分析结果如下:',level=1)
title.alignment = WD_PARAM_ALIGNMENT.CENTER
# 创建一个段落
document.add_paragraph("总订单数{0},支付总额{1}元,支付每单平均值为{2:.2f}元".format(orderCount,orderPaySum,orderPayMean))
# 添加图片
document.add_picture('datas-sum.jpg',width=Inches(5))
document.add_picture('datas-mean.jpg',width=Inches(5))
document.add_picture('datas-count.jpg',width=Inches(5))
#保存docx文件
document.save("new.docx")
显示效果如下:
python3根据excel表数据自动生成word格式数据报告相关推荐
- 电脑表格日期怎么修改原有日期_如何在Excel表中自动生成记录数据的日期和时间...
几天前有人问我: 在Excel表格中输入信息时,如何在日期单元格中自动生成日期和时间? 输入表格时,我们经常需要输入时间,而不是填写存储时间,为了减少输入工作量,您可以将日期设置为自动生成. 例如,当 ...
- python将Excel数据自动生成Word报告【Pyhon-docx\openpyxl】
我写在了知乎,图片没有搬运过来.链接:https://zhuanlan.zhihu.com/p/371767402 需求:日常工作中,需要对Excel表格的数据进行筛选计算整理,然后将数据做成Word ...
- 用什么软件能从excel数据自动生成word版的环境实验室检测报告
您可以使用Microsoft Word的邮件合并功能来自动生成基于Excel数据的环境实验室检测报告.具体步骤如下: 在Excel中准备好您的数据,确保每一列都有一个相应的列标题. 在Word中,创建 ...
- excel平均值公式_推荐一款多人同时编辑Excel表,自动生成汇总报表的软件给大家...
企业管理人员经常遇到这种情况,就是需要大家填报Excel表格的数据,便于统一汇总数据报表. 推荐的这个免费软件叫优企Excel系统,可以非常轻松的做到多人同时在表格中填报数据,和Excel的操作一样, ...
- Excel用vba自动生成word
Sub GenDocfromExcel()'excel控制word,生成新文件,插入图片和文件名,保存 'office 2003, VBA工具/引用中要勾选Microsoft Word 11.0 Ob ...
- 【Power Automate】如何自动生成Word与PDF文件[上]
上半年已经悄悄溜走,因为疫情,大家似乎也很习惯于在家办公.作为业务人员,如何汇报自己的工作,让自己更多地学习和掌握数字化办公技巧至关重要.那么今天我们就来看一下在不使用代码的情况下,如何通过Power ...
- labview自动保存报表_基于LabVIEW的Excel报表的自动生成功能
所示. 图 1 Excel Specific 的子模板 所有的用于生成 Excel 格式的 VI 集都在 Excel Specific 模板中.此时,用户就可以在 LabVIEW 中直接使用这些简易 ...
- Qt5生成Word格式报告
引言 一使用ActiveQt模块 二子线程中使用 三准备word模板 四代码 插入书签位置 批量插入 插入表格 方法一利用Range对象定位后插入表格 方法二利用bookmark定位后插入表格 五其他 ...
- Java使用FreeMarker自动生成Word文档(带图片和表单)
Java使用FreeMarker自动生成Word文档(带图片和表单) 1 背景 2 目标效果 3 创建Word模板 3.1 创建模板文档 3.2 转换模板文档 3.3 处理模板文档中的占位符 3.4 ...
最新文章
- 人工智能创业指南:AI 产品未来的发展模式及策略
- 《裂变》作者爆料:欺世盗名者绝非唐骏一人
- ORACLE设置用户密码不过期
- 两万字深度介绍分布式系统原理,一文入魂
- Sql Server通用分页存储过程
- 如何写出安全的API接口
- iOS项目中常见定时器
- java微信刷卡支付demo_微信刷卡支付例子
- (转)是时候说说Pivotal这个富二代了!
- 数据结构严蔚敏算法设计习题解答(逐渐更新)(更新于2020.11.20)
- DNS和VIP的区别
- 【WebGIS毕业设计】(一)前言、开题与参考文献
- 聚焦技术实战!MDCC 2016 移动开发者大会盛大开幕
- 校园网ensp模拟搭建
- 留学生Essay写作没思路的解决方案
- 视频去水印 java_用java给视频水印LOGO
- 直播知识点实录|百度大脑EasyDL产业应用系列 安全生产专场
- 仿微信朋友圈动态列表
- Android热更新十:自己写一个Android热修复
- 纽约大学计算机与科学,纽约大学计算机科学专业好吗?