前两天,人事的妹子悄悄的跑到我的工位上,低声的问了两句,
HR:听说你会弄脚本做自动报表?
我:嗯。
HR:每个月月底都要计算工资预估,蛮烦的,遇到五一十一什么的还得跑公司加班弄
我:是嘛?是挺麻烦的。
HR:要不你帮忙瞅瞅能不能弄个自动的?
我:等等,看下之前的案例能不能达到你的要求?
。。。
HR:这就完了?报表就做好了?
我:嗯。
HR:这么快。不过,我的数据是要保密的?怎么办?
我:这不简单嘛,给你全部部署离线版,只能在你电脑运行,代码都交给你,给你写详细的备注。后面自己改吧。
HR:我可以吗?
我:行的,只要会用excel函数就行
HR:好吧。我还有一个报表也要弄。
…
我:等等,咱们先看看这个用的效果这么样吧.
就这样,顺手接了一单。
需求是这样的,有两个excel数据源,一个是自己整理的,一个是从我们的HR系统里面导出的。需要把两个数据源合并为一个excel, 重新插入根据规则计算出来的数据。
Python操作excel, 这不是信手拈来嘛,直接openpyxl开干。
大致步骤如下:
- Python读取两个excel, 分别存入两个List,
- 根据关键字段合并List.
def Merge_lists(Mas_list,Att_list):
#合并两个excel数据
temp_list=[]
for s_line in Mas_list:
for t_line in Att_list:
if s_line[0]==t_line[0]:
temp_list.append(s_line+t_line)
j=0
#判断两表合并后的单行数据长度,正常为70-73
for line in temp_list:
if len(line)<50:
err_log.append(str(j+1))
j+=1
return temp_list
- 通过合并后的数据元,根据定义的函数,创建新的List,依次插入新的数据。
- 将新数据写入新创建的excel, 结束。
总结:这个案例的过程中,都是常规的操作,主要的特点就是通过Python操作excel可以极大的提高工作效率,基本上从4小时加缩减至秒级。
Python是个开发语言,主要就是如何活学活用吧,能解决实际问题就行。期待下一个需求上门吧!