python读取多个excel表多个sheet后映射匹配再分组计算、纵向拼接
共 1433字,需浏览 3分钟
·
2024-04-22 10:24
大家好,我是飞奔的蜗牛ing。
一、前言
前几天在一个客户给到一单数据处理的 问题,需求是这样的:
1.表“aa2020”中2020年数据需要按季度分成四个表。(1-3月、4-6月、7-9月、10-12月)
2.表“2020年一季度”代表2020年一季度客户所对应的管理档位,需要把表中的档位导入附表“aa2020”对应的客户中,两者共同值为编码。
3.“结果表”中客户:
如这个客户2020年第一季度是10档(参照客户分季度档位表),则需在表“2020年一季度”中筛选出和它同档位10档对应的所有客户,计算这个档位所有客户的销量的平均值(表中显示:该档位零售客户平均订购量(条))和销额的平均值(表中显示:该档位零售客户平均订购额(万元))。
然后我根据需求捋了捋,分为4步:
我需要读取两张表,一张原始表,一张映射表;两张表都有4个sheet表,每一张sheet表都含有客户编码列;
1、读取映射表的sheet1,以客户编码为键,以本次测算档位位置,创建映射字典;
2、读取原始表的sheet1,如果映射表的客户编码列值和原始表的客户编码列值相同,则在原始表的后方加上名为本次测算档位列,其值为对应的映射表该列的值;并保存到新表。
3、以此类推,映射表的sheet2对应原始表的sheet2。。。
结合上边3步,代码核心如下:
下一步我是在对应的年份季度sheet上插入一列对应的季度列,如2020年1季度等,核心代码如下:
在下一步就很简单了,分组计算以及纵向拼接。
分组计算核心代码:
纵向拼接季度值核心代码:
完美解决客户问题,成品展现:
大家在学习过程中如果有遇到问题,欢迎随时联系我解决(我的微信:pdcfighting),应粉丝要求,我创建了一些高质量的Python
付费学习交流群,欢迎大家加入我的Python
学习交流群!
有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
------------------- End -------------------
往期精彩文章推荐:
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行