案例背景

在另一个平行世界,有一家专注于户外运动的巨头公司。既然是巨头,为了更加亲切,我们就叫他大头吧。大头的旗下有20个品牌,这些品牌涉及到128个类目(细分行业),涉及范围之广令人咋舌,可谓遍地开花。

平行世界的小Z就是这家巨无霸的数据分析师,今天刚来公司就接到了一个需求——下班前务必筛选出近一年销售额总额TOP5的品牌以及对应的销售额。

近一年?TOP5?

WOC,这么简单的需求也算需求?直接排个序不就好了。

还一天时间,不急不急,先来一杯咖啡,再看看新闻。

一眨眼的功夫,时间来到了17:30,小Z觉得今天的需求可以开动了,做完之后还能简单分析一下,应该能赶在18:00整点下班。

当他打开同事共享给他的表格文件,他才体会到,绝望,原来这么远,又这么近。

业务部门的同事总共发来了128张表,每一份表格对应着一个细分行业的数据,像什么各类户外服装、垂钓装备、救生装备应有尽有。

每张表,以月的维度(2018年9月-2019年8月,近一年)记录着每个品牌的日期、访客、客单、转化、所属类目(细分行业)等数据:

注:不要问为啥表格数据存储这么奇葩,因为在平行世界,就是要任性,毕竟复杂的表格才能体现出Python的高效

小Z开始盘算,最终需求是要筛选出近一年销售额总和排名前5的品牌,这一摊子数据,对单独的一张表进行分类汇总,能够得到该细分行业各品牌的销售额,想要得到所有行业的销售额总和,得分类汇总128次,最后对128次结果再次合并。

“这个任务看上去很艰巨,不过,考验的主要是体力。”小Z一眼就“看穿”了事情的本质。同时脑海中蹦出了“红军不怕远征难”几个红彤彤的大字。接着,他带上耳机,打开了唐朝乐队的“国际歌”,在双重buff的加持下,开始了表格的远征。

果然是个处理数据的好手,小Z右手食指在鼠标上飞速跳动,以90秒一张表格的速度疯狂推进。按照这个速度,不考虑疲劳值对速度的拖累,大概3.2个小时就能够完成任务。

国际歌循环到第10遍,小Z有些气馁,第20遍,开始感到绝望。

就在行将放弃之际,他想起了Python的潘大师(Pandas),虽然最近刚学还不是很熟练,但事到临头,黑暗中的一缕微光,那就是唯一的希望,小Z决定用Pandas来尝试解决问题。

他明白,用Python解决批量问题的核心,在于梳理并解决单个问题,然后批量循环。

单个表格处理

首先,导入模块,打开单个表格:

接着,是要汇总不同品牌在这个细分行业下的销售额,我们要汇总的是各品牌近一年(2018年9月-2019年8月)的销售额,先看看日期是否正确:

正要汇总销售额,小Z发现没有销售额的字段,但销售额是可以通过访客数转化率客单价三者的乘积来计算的:

按品牌来汇总销售额,得到近一年各品牌销售额合计:

这里有个细节,最终小Z要汇总的是所有细分行业的销售额,对于单独行业的销售额,应该加一个区分的标签以防覆盖,而打开时候的文件名,具有天然的区分和防覆盖优势,但要注意去掉文件的后缀。

OK,单个表格处理完成,我们把这一系列操作推而广之即可。

批量循环执行

小Z用os.listdir方法来遍历文件名,批量循环访问并处理文件,同时引入time计时,打算看一看,面对128张表,Python完成这些操作到底能够比手动快多少:

WOC,整个过程一气呵成,不到3秒,平均一张表格0.02秒!真香!

为了确保数据正常,来预览一下:

这一串看起来很奇怪的销售额,是pandas自作主张把实际销售额变成了科学记数法形式来展示,要还原数值,需要更改一下原始的设置:

OK,无论是习惯还是法理,都得到了我们希望的结果——近一年销售TOP5品牌及其对应的销售额。从数据结果来看,大头公司下的20个品牌全面开花,以品牌5为先锋,一年销售高达12.26亿,排名最后的品牌体量也达到了9.79亿元,平均单品牌销售10.85亿元。

注:案例128张完整源数据和代码,加群592539176即可获取。

总结

本文以一个简单又复杂的场景切入,简单是需求本身非常简单,而复杂则是基础数据涉及到的表格多而杂。代码和逻辑本身浅显易懂,主要为了抛出一块砖,敲开批量处理表格的思维藩篱,以引出同志们实践中,在合适场景下用Python来化繁为简的玉。案例中表格共128张,大家可以自己尝试和探索更有趣的分析。

python做表格真的快吗_厉害!一百多张Excel表用Python竟然不到3秒就处理完了?相关推荐

  1. python 做表格分析难么_Python处理分析128张Excel表格竟然不到3秒?

    不少粉丝留言,想要了解怎么用Python提升处理数据的效率,或者说怎么用Python自动处理多张Excel表格,于是乎便有了本文. 这篇文章算是Python数据分析实战的第二个独立案例. 注:案例12 ...

  2. python excel整合_如何整合100张excel表到一张excel表

    实际工作中经常会有整合多张excel表的需求,比如,对几张表合并时,我们有时候需要知道哪些原始数据是来自哪张表,例如,三张表是来自三个不同的人,我们可以把每张表用人名命名,这样就可以知道数据来自谁. ...

  3. python做表格好用吗_吊打Excel!用Python来办公到底有多强?

    现如今无论是工作汇报.产品设计.后台设计甚至是数据大屏,越来越多的行业都离不开与数据打交道! 做数据图表,谁不会?打开Excel,就可以制作各种模板图表! 但是,你的图表是这样的么? Excel作为数 ...

  4. python做桌面软件 代码隐藏_桌面杂乱?教你50行Python代码一键整理桌面!

    我们每天上班会有很多文件来不及处理,全部都在桌面上堆放在了一起,久而久之,就造成了桌面非常的混乱,如下图所示: 乱糟糟的桌面,让心情也会潜移默化的变得烦躁,更重要的是,它会让我们的工作效率变的非常的低 ...

  5. python比较excel表格内容并提取_利用python提取多张excel表数据并汇总到同一张新表中...

    接上篇文章<如何用python实现excel中的vlookup功能?>,上篇说到,最近我在做一个小项目,也是用python操作excel解决财务审计工作上的一些问题,以便提高工作效率及其准 ...

  6. python做数据分析有什么优势_六星教育:使用Python做数据分析的优点是什么?

    原标题:六星教育:使用Python做数据分析的优点是什么? 大数据越来越火的发展,越来越多的企业也使用大数据分析,数据分析行业的需求人才也趋向上涨趋势,做数据分析的也需要学会一些编程语言的,比如MAT ...

  7. Python提取多张excel表上的数据,合并汇总到一张新表

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于财会学习联盟,作者:我是刀哥啊 私信回复"资料" ...

  8. 多张excel表合并汇总怎么做?

    今天跟大家分享一下多张excel表合并汇总怎么做? 1.打开演示文件,要求快速完成多个工作表数据汇总 2.首先点击下图选项 3.然后我们选中表格数据单元格区域 4.点击[汇总拆分],然后鼠标选择[汇总 ...

  9. Java对比两张Excel表的数据,java对比两个excel或者一张excel和数据库的一张表的数据是否相同,两张excel表格匹配相同的数据库...

    excel自动从数据库匹配相应的数据 vlookup函数:vlookup(lookup_value,table_array,col_index_num,[range_lookup]) 第一个:look ...

最新文章

  1. 苹果手机怎么投屏 如何操作
  2. 道路交通实时流量监控预测系统(大讲台)
  3. eclipse部署web项目
  4. Windows 程序包管理器 1.0 正式发布
  5. 2020上半年中国教育行业投融资报告
  6. 力扣908.最小差值Ⅰ
  7. 老程序员如何避免沦落出局?
  8. python读取文本数据--完善中
  9. linux vsftpd
  10. Python库全家福,基本都齐了
  11. 算法竞赛入门经典第二版 2-6排列
  12. 微信小程序如何实现转发/分享功能
  13. 微信小游戏制作坦克大战(一)微信小游戏制作工具介绍
  14. linux bugzilla安装包,Linux下Bugzilla的搭建
  15. 向量代数,直线,平面
  16. html标签 补全方法 python,Python Beautiful Soup学习之HTML标签补全功能
  17. yum源服务器本地配置
  18. Cocos Creator Android 平台 Google 原生登录
  19. jmeter测试抓包
  20. I/O寄存器的边际效应

热门文章

  1. 计算机专业应该拿的几个证书
  2. c++ return返回值与内存
  3. 解决城市交通压力,浅析车载监控技术在公交监管中的应用
  4. 量化投资常用技能——指标篇3:详解RSI指标,及其代码实现和绘图
  5. 拓视角丨稳固金融领域领军地位,强化数字化服务和体验
  6. 阿里巴巴自动驾驶三维点云分割PointNet实现
  7. 小米手机开发版、稳定版刷机和root等操作
  8. 电子品牌内容营销人员应具备的14大软文写作技能
  9. java 返回布尔值_如何使用Java方法返回的布尔值?
  10. 手机号加密成7位“随机字符串”