Python Pandas批量处理多张Excel数据并汇总统计
本文通过实际案例展示如何利用Python的Pandas库高效处理多张Excel文件。针对90个品牌销售数据,通过计算销售额、按品牌汇总及排序,快速筛选出销售额前五的品牌。相比传统Excel操作,该方法大幅提升了数据处理效率,适合非程序员及数据分析师使用。
越来越多的非程序员职场人士开始学习Python,并非为了爬取数据获取成就感,而是为了解决工作中复杂的数据分析与处理问题。Python能够以简单高效的方式解决这些难题。本文将通过一个实际案例,展示Python如何高效处理复杂的数据分析任务。
背景
背景
小明在一家户外运动专营公司担任数据分析师,该公司旗下拥有多个品牌,涉及众多细分行业。他日常主要使用Excel进行数据分析。近日,老板交给他一项任务:在下班前筛选出集团旗下最近一年销售额前五名的品牌及其具体销售额。
对于经验丰富的Excel用户而言,这似乎轻而易举。然而,当市场部同事发送原始数据文件后,小明发现情况远比想象中复杂:

这并非简单的排序取前五。总共有90个文件,常规思路要么将所有文件内容复制到一张表中进行分类汇总,要么对每张表格分别汇总后再进行最终汇总。
考虑到巨大的工作量和紧迫的截止时间,小明感到十分头疼。
思路分析
思路分析
这种繁琐的工作,通过编写程序解决最为轻松。小明想到了他的程序员朋友小段,于是将问题抛给了他。
小段梳理了一下所剩无几的头发,表示这非常简单,只需使用潘大师即可。
小明疑惑道:你搞不定吗?还要找其他人!
小段解释说:潘大师是Python中一个处理数据的库,名为Pandas,俗称潘大师。
小明表示:我不关心什么大师,只问需要多久搞定。
小段回答:给我几分钟写程序,再运行几秒钟即可!
小明发送了膜拜大佬的表情。
小段稍作思考,整理了程序思路:
- 计算每张表每一行的销售额,公式为“访客数 * 转化率 * 客单价”。
- 将每张表格根据品牌汇总销售额。
- 将所有表格的结果汇总成一张总表。
- 在总表中根据品牌汇总销售额并排序。
编码实现
编码
第零步,读取Excel文件:
import pandas as pd
df = pd.read_excel("./tables/" + name)
第一步,计算每张表格内的销售额:
df['销售额'] = df['访客数'] * df['转化率'] * df['客单价']
第二步,将每张表格根据品牌汇总销售额:
df_sum = df.groupby('品牌')['销售额'].sum().reset_index()
第三步,将所有表格的结果汇总成一张总表:
result = pd.DataFrame()
result = pd.concat([result, df_sum])
第四步,在总表中根据品牌汇总销售额并排序:
final = result.groupby('品牌')['销售额'].sum().reset_index().sort_values('销售额', ascending=False)
最后,我们来看看完整的程序:
import pandas as pd
import os
result = pd.DataFrame()
for name in os.listdir("./tables"):
try:
df = pd.read_excel("./tables/" + name)
df['销售额'] = df['访客数'] * df['转化率'] * df['客单价']
df_sum = df.groupby('品牌')['销售额'].sum().reset_index()
result = pd.concat([result, df_sum])
except:
print(name)
pass
final = result.groupby('品牌')['销售额'].sum().reset_index().sort_values('销售额', ascending=False)
pd.set_option('display.float_format', lambda x: '%.2f' % x)
print(final.head())
最终结果如下:
品牌 销售额 15 品牌-5 1078060923.62 8 品牌-17 1064495314.96 4 品牌-13 1038560274.21 3 品牌-12 1026115153.00 13 品牌-3 1006908609.07
可以看到,最终的前五名已经清晰呈现,整个程序运行速度非常快。
几分钟后,小段将结果发给了小明,小明感动不已,直呼改天请吃饭,并拜师学艺!
总结
总结
本文通过实际案例展示了Pandas(潘大师)的魅力,特别是在表格处理方面,其便捷性不言而喻。编写过程序的人可能会感到熟悉,这种处理方式类似于SQL查询语句。Pandas不仅使程序处理更简单高效,对于经常处理表格的非程序员也非常友好,上手相对容易。
示例代码:https://github.com/JustDoPython/python-examples/tree/master/xianhuan/pandasexcel
以上就是利用Python汇总统计多张Excel的详细内容,更多关于Python汇总统计多张Excel的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













