真香还是假香,Python处理分析128张Excel表格竟然不到3秒?| 附案例数据集

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

案例背景



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


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


近一年?TOP5?


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


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


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


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


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


27.png


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


28.png


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


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


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


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


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


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


单个表格处理



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


31.png


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


32.png


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


33.png


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


34.png


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


35.png


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


批量循环执行



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


36.png



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


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


37.png


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


38.png


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


总结



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







相关文章
|
2月前
|
存储 分布式计算 大数据
基于Python大数据的的电商用户行为分析系统
本系统基于Django、Scrapy与Hadoop技术,构建电商用户行为分析平台。通过爬取与处理海量用户数据,实现行为追踪、偏好分析与个性化推荐,助力企业提升营销精准度与用户体验,推动电商智能化发展。
|
2月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的台风灾害分析及预测系统
针对台风灾害预警滞后、精度不足等问题,本研究基于Python与大数据技术,构建多源数据融合的台风预测系统。利用机器学习提升路径与强度预测准确率,结合Django框架实现动态可视化与实时预警,为防灾决策提供科学支持,显著提高应急响应效率,具有重要社会经济价值。
|
2月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
2月前
|
数据采集 监控 数据库
Python异步编程实战:爬虫案例
🌟 蒋星熠Jaxonic,代码为舟的星际旅人。从回调地狱到async/await协程天堂,亲历Python异步编程演进。分享高性能爬虫、数据库异步操作、限流监控等实战经验,助你驾驭并发,在二进制星河中谱写极客诗篇。
Python异步编程实战:爬虫案例
|
3月前
|
JSON 缓存 供应链
电子元件 item_search - 按关键字搜索商品接口深度分析及 Python 实现
本文深入解析电子元件item_search接口的设计逻辑与Python实现,涵盖参数化筛选、技术指标匹配、供应链属性过滤及替代型号推荐等核心功能,助力高效精准的电子元器件搜索与采购决策。
|
3月前
|
缓存 供应链 芯片
电子元件类商品 item_get - 商品详情接口深度分析及 Python 实现
电子元件商品接口需精准返回型号参数、规格属性、认证及库存等专业数据,支持供应链管理与采购决策。本文详解其接口特性、数据结构与Python实现方案。
|
5月前
|
Python
如何根据Excel某列数据为依据分成一个新的工作表
在处理Excel数据时,我们常需要根据列值将数据分到不同的工作表或文件中。本文通过Python和VBA两种方法实现该操作:使用Python的`pandas`库按年级拆分为多个文件,再通过VBA宏按班级生成新的工作表,帮助高效整理复杂数据。
|
5月前
|
数据采集 数据可视化 数据挖掘
用 Excel+Power Query 做电商数据分析:从 “每天加班整理数据” 到 “一键生成报表” 的配置教程
在电商运营中,数据是增长的关键驱动力。然而,传统的手工数据处理方式效率低下,耗费大量时间且易出错。本文介绍如何利用 Excel 中的 Power Query 工具,自动化完成电商数据的采集、清洗与分析,大幅提升数据处理效率。通过某美妆电商的实战案例,详细拆解从多平台数据整合到可视化报表生成的全流程,帮助电商从业者摆脱繁琐操作,聚焦业务增长,实现数据驱动的高效运营。
|
7月前
|
存储 安全 大数据
网安工程师必看!AiPy解决fscan扫描数据整理难题—多种信息快速分拣+Excel结构化存储方案
作为一名安全测试工程师,分析fscan扫描结果曾是繁琐的手动活:从海量日志中提取开放端口、漏洞信息和主机数据,耗时又易错。但现在,借助AiPy开发的GUI解析工具,只需喝杯奶茶的时间,即可将[PORT]、[SERVICE]、[VULN]、[HOST]等关键信息智能分类,并生成三份清晰的Excel报表。告别手动整理,大幅提升效率!在安全行业,工具党正碾压手动党。掌握AiPy,把时间留给真正的攻防实战!官网链接:https://www.aipyaipy.com,解锁更多用法!

推荐镜像

更多