Python数据日报
朱小五 人气:0前言
人生苦短,快学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日内的日报数据合集。
加载全部内容