用python匯總多個excel表格-利用python匯總統計多張Excel


為什么越來越多的非程序員白領都開始學習 Python ?他們可能並不是想要學習 Python 去爬取一些網站從而獲得酷酷的成就感,而是工作中遇到好多數據分析處理的問題,用 Python 就可以簡單高效地解決。本文就通過一個實際的例子來給大家展示一下 Python 是如何應用於實際工作中高效解決復雜問題的。

背景

小明就職於一家戶外運動專營公司,他們公司旗下有好多個品牌,並且涉及到很多細分的行業。小明在這家公司任數據分析師,平時都是通過 Excel 來做數據分析的。今天老板丟給他一個任務:下班前篩選出集團公司旗下最近一年銷售額前五名的品牌以及銷售額。

對於 Excel 大佬來說,這不就是分分鍾的事嗎?小明並沒有放在眼里,直到市場部的同事將原始的數據文件發給他,他才意識到事情並沒有那么簡單:

202092293554829.jpg?202082293610

這並不是想象中的排序取前五就行了。這總共有90個文件,按常規的思路來看,他要么將所有文件的內容復制到一張表中進行分類匯總,要么將每張表格進行分類匯總,然后再最最終結果進行分類匯總。

想想這工作量,再想想截止時間,小明撓了撓頭,感覺到要漸漸頭禿。

思路分析

這種體力活,寫程序解決是最輕松的啦。小明這時候想到了他的程序員好朋友小段,於是他把這個問題拋給了小段。

小段縷了下他那所剩無幾的頭發,說:so easy,只需要找潘大師即可。

小明說:你搞不定嗎?還要找其他人!

小段苦笑說:不不不,潘大師是 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 查詢語句。潘大師不僅能使我們的程序處理起來變得更簡單高效,對於需要經常處理表格的非程序員也是非常友好的,上手起來也比較簡單。

以上就是利用python匯總統計多張Excel的詳細內容,更多關於python匯總統計多張Excel的資料請關注腳本之家其它相關文章!

 

資源來處:https://blog.csdn.net/weixin_37988176/article/details/109374322

 

 

利用 Python 進行多 Sheet 表合並、多工作簿合並、一表按列拆分

https://blog.csdn.net/weixin_41666747/article/details/108313557


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM