Python自動化處理Excel表格的方法詳解
一、問題背景與解決方案概述
每個月底整理各部門提交的Excel表格,手動加總數(shù)據(jù)、處理空值、合并重復(fù)姓名……這些重復(fù)勞動既耗時又容易出錯。
其實用Python寫個簡單腳本,幾分鐘就能搞定。
二、場景示例
比如收到這樣的表格data260202.xlsx:

需要按姓名匯總各月數(shù)據(jù),還要處理空值和可能的重復(fù)姓名。
三、全部代碼實現(xiàn)
import pandas as pd
# 讀取數(shù)據(jù)
df = pd.read_excel('data260202.xlsx')
# 清洗姓名列
df['名稱'] = df['名稱'].astype(str).str.strip()
df = df[df['名稱'] != '']
# 自動識別月份列(除“名稱”外的所有列)
month_cols = [col for col in df.columns if col != '名稱']
# 空值轉(zhuǎn)0,非數(shù)字轉(zhuǎn)0
for col in month_cols:
df[col] = pd.to_numeric(df[col], errors='coerce').fillna(0)
# 按姓名匯總
result = df.groupby('名稱', as_index=False)[month_cols].sum()
# 添加總計并排序
result['總計'] = result[month_cols].sum(axis=1)
result = result.sort_values('名稱').reset_index(drop=True)
# 輸出結(jié)果
print(result.to_string(index=False))
result.to_excel('月度匯總報表.xlsx', index=False)
四、方法優(yōu)勢
- 自動適配月份:新增“4月”“5月”列無需修改代碼,只要列名不是“名稱”都會被納入計算
- 空值友好:空白單元格、文字內(nèi)容自動轉(zhuǎn)為0,避免報錯
- 合并重復(fù)項:同名人員的數(shù)據(jù)自動累加
- 結(jié)果可復(fù)用:同時輸出到控制臺和Excel,方便核對與存檔
運行后生成的報表:

五、復(fù)雜場景擴展
1.列名含“月”字但格式雜亂
改用:
month_cols = [col for col in df.columns if '月' in str(col)]
2.跨年數(shù)據(jù)(如“2026年1月”)
用正則匹配:
import re
month_cols = [col for col in df.columns
if re.search(r'\d+月$|\d+年\d+月', str(col))]3.需要按部門+姓名兩級匯總
假設(shè)表格有“部門”列:
result = df.groupby(['部門', '名稱'])[month_cols].sum().reset_index()
六、快速上手指南
- 安裝依賴:
pip install pandas openpyxl - 將Excel文件與腳本放在同一目錄
- 運行腳本,自動生成
月度匯總報表.xlsx
適合財務(wù)、運營、項目管理等需要定期匯總數(shù)據(jù)的崗位。某電商團隊用類似腳本將月度報表處理時間從2小時縮短到10秒,且再未出現(xiàn)手工計算錯誤。
代碼雖短,解決的是實實在在的重復(fù)勞動。把機械工作交給程序,人去做更有價值的事。
到此這篇關(guān)于Python自動化處理Excel表格的方法詳解的文章就介紹到這了,更多相關(guān)Python自動化處理Excel內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用pycharm調(diào)試ssh遠程程序并實時同步文件的操作方法
這篇文章主要介紹了利用pycharm調(diào)試ssh遠程程序并實時同步文件的操作方法,本篇文章提供了利用pycharm遠程調(diào)試程序的方法,且使用的編譯器可以是服務(wù)器中的虛擬環(huán)境的編譯器,可以實時同步本地與服務(wù)器的文件內(nèi)容,需要的朋友可以參考下2022-11-11
python使用兩種發(fā)郵件的方式smtp和outlook示例
本篇文章主要介紹了python使用兩種發(fā)郵件的方式smtp和outlook示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-06-06
使用OpenCV獲取圖片連通域數(shù)量,并用不同顏色標記函
這篇文章主要介紹了使用OpenCV獲取圖片連通域數(shù)量,并用不同顏色標記函,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
pytest自動化測試中的fixture的聲明和調(diào)用
這篇文章主要為大家介紹了pytest自動化測試中的fixture的聲明和調(diào)用,文中含有詳細示例操作有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10
python使用xlsxwriter實現(xiàn)有向無環(huán)圖到Excel的轉(zhuǎn)換
這篇文章主要為大家詳細介紹了python使用xlsxwriter實現(xiàn)有向無環(huán)圖到Excel的轉(zhuǎn)換,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12

