利用Python实现自动生成数据日报
作者:朱小五 发布时间:2022-08-26 11:12:48
前言
人生苦短,快学Python!
日报,是大部分打工人绕不过的难题。
对于管理者来说,日报是事前管理的最好抓手,可以了解团队的氛围和状态。可对于员工来说,那就有的聊了。对于重复性的工作,我非常推荐大家使用Python将其变成模块化、自动化,帮助我们实现高效办公。
下面我们通过一个补写销售日报的案例,展示一下Python自动化办公的优势。本文简化了案例的流程。
需求详解
朋友的需求是这样的,他们平时的销售数据是记录在Excel上,汇总后会按照部门进行统计。但是今年年初时,领导突然要求写日报,大家写了一个月发现并不检查就没继续写下去。
Excel日报数据
现在突然被要求明天交本月之前的所有日报,这相当于要补2-5月将近120天的日报,如果靠双手复制粘贴,那估计要吐血了。朋友将其写日报的相关文件都发了过来,发现最终日报效果如下所示。
所以需求也就是比较简单了,只需要从Excel表格中读取每日的数据,使用Python将其处理后,再依次写入Word文档中,即可实现批量生成日报。
数据处理
在进行数据处理之前,要先了解最终需要哪些数据。如下图所示,在目标日报Word中主要分为两类:红色标记的数值主要是由当日的数据、或者由它们计算后得到的数据构成;绿色标记的表格则更简单了,就是近七日的数据(销售数量、销售金额、销售目标、完成度)。
首先我们导入Pandas模块进行数据处理
import?pandas?as?pd
df?=?pd.read_excel("日报数据.xlsx")
df
输出结果
导入数据后,接着就可以按照我们的需求,来进行数据运算了。数据运算主要分为两种,一种是利用加 +、减 -、乘 *、除 / 进行数据运算,另一种是利用统计方法进行数据运算。
在交互式环境中输入如下命令:
df["日期"]?=?df["日期"].apply(lambda?x:x.strftime("%Y-%m-%d"))
df["当日完成度"]?=?(df["销售金额"]/df["销售目标"]*100).round(1)
df["累计销售金额"]?=?df["销售金额"].cumsum()
df["当年完成度"]?=?(df["累计销售金额"]/2200000*100).round(1)
df["累计销售金额"]?=?(df["累计销售金额"]/10000).round(2)
df
输出结果:
可以看到,最终结果截图中红色标记的数据内容已经全部被计算出来。而绿色标记的表格则更加简单了,使用Pandas模块中的数据选取即可。
在交互式环境中输入如下命令:
num?=?10
df.iloc[num-7:num,?:5]
输出结果:
通过这种方法就可以轻松得到某一日期的过去7日内的日报数据合集。
来源:https://mp.weixin.qq.com/s/RpPn8jKP7nN6iif_ElTQXQ


猜你喜欢
- Windows 8 终于发布了,虽然现在可用的只是开发者预览版,好消息是,IE 10 也随着发了,虽然现在还只有Windows 8可用。我们
- 消息/事件机制是几乎所有开发语言都有的机制,并不是deviceone的独创,在某些语言称之为消息(Event),有些地方称之为(Messag
- 就是在mysql命令行登录的时候加上: --pager=more 参数可以使用linux下的more来分页,很好用
- 本文实例讲述了Python设计模式之状态模式原理与用法。分享给大家供大家参考,具体如下:状态模式(State Pattern):当一个对象的
- 你可能正建立自己在网上的家-WEB页,又或者它已经被你安置在网络某一角里。无论出于什么目的,你都希望有
- 之前我们曾经分享过:Python获取某一日期是“星期几”的6种方法!实际上,在我们使用Python处
- 快速测试创建项目与appdjango-admin startproject mysitedjango-admin startapp app1
- 外网python2.7 虚拟环境中安装了 flask 模块,期望在内网使用,如何迁移外网的虚拟环境到内网呢?1 进入外网python虚拟环境
- 使用python生成随机图片验证码,需要使用pillow模块1.安装pillow模块pip install pillow2.pillow模块
- 对于python2.7字符串在Python2.7内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,
- 1 与达尔文对话140年前,1858年7月1日,达尔文在英伦岛发表了自己有关自然选择的杰出论文。他提出,生物的发展规律是物竞天择。经过物竞,
- 1. XML简介XML(eXtensible Markup Language)指可扩展标记语言,被设计用来传输和存储数据,已经日趋成为当前许
- 前言了解了D3.js的基本开发和组件以后,我们开始应用它激动人心之处:绚丽的预定义图形,应用D3.js,我们在它的示例文件的基础上稍加变动即
- CentOS7的yum源中默认好像是没有MySQL的。为了解决这个问题,我们要先下载mysql的repo源。1. 下载mysql的repo源
- tags: django中对条件查询一些cms项目都会使用到多条件查询,我们后端如何处理请求的条件呢?满足一个条件满足两个条件满足多个条件…
- 本文实例讲述了Python使用sklearn实现的各种回归算法。分享给大家供大家参考,具体如下:使用sklearn做各种回归基本回归:线性、
- 一、原因浅析今天在写一个Python与html5 Websocket 实例,么次终止运行重新运行脚本总是提示地址已经存在并且被使用!查询相关
- 1.最基本的用法 把ClassA的一个实例赋值给ClassB, ClassB就继承了ClassA的所有属性。 代码入下: <
- 基础介绍今天我跟大家把我理解的这一块全面的介绍下,配有sql语句送给大家。首先来给大家做个这一块的介绍:1,自连接说到底就是多张表都是同一张
- 1 lambda函数函数格式是lambda keys:express 匿名函数lambda是一个表达式函数,接受ke