Python使用pandas批量處理Excel文件的實戰(zhàn)教程
日常辦公中,Excel 文件處理是最常見的需求。這篇文章用 pandas 實現(xiàn) 7 個最常用的 Excel 處理場景,代碼直接復制就能用。
一、讀取Excel
import pandas as pd
?
# 讀取全部sheet
df = pd.read_excel("數(shù)據(jù).xlsx")
?
# 讀取指定sheet
df = pd.read_excel("數(shù)據(jù).xlsx", sheet_name="Sheet1")
?
# 讀取前5行
df = pd.read_excel("數(shù)據(jù).xlsx", nrows=5)
?
# 指定某一列作為索引
df = pd.read_excel("數(shù)據(jù).xlsx", index_col="編號")二、查看數(shù)據(jù)
# 查看前5行 print(df.head()) ? # 查看基本信息(列名、類型、非空數(shù)量) print(df.info()) ? # 查看統(tǒng)計摘要(均值、標準差、四分位數(shù)) print(df.describe()) ? # 查看列名 print(df.columns.tolist())
三、數(shù)據(jù)篩選
# 篩選某一列等于某個值 df[df["城市"] == "北京"] ? # 多條件篩選(&表示且,|表示或) df[(df["城市"] == "北京") & (df["銷售額"] > 10000)] ? # 按某列的值篩選 df[df["姓名"].isin(["張三", "李四"])]
四、數(shù)據(jù)分組統(tǒng)計
# 按城市分組,求銷售額總和
df.groupby("城市")["銷售額"].sum()
?
# 分組后多個統(tǒng)計值
df.groupby("城市")["銷售額"].agg(["sum", "mean", "count"])
?
# 分組后保存為多個sheet
with pd.ExcelWriter("分組結果.xlsx") as writer:
? ?for city, group in df.groupby("城市"):
? ? ? ?group.to_excel(writer, sheet_name=city, index=False)五、合并多個Excel文件
import os
?
# 一個文件夾下多個Excel合并
path = "銷售數(shù)據(jù)"
all_data = []
for f in os.listdir(path):
? ?if f.endswith(".xlsx"):
? ? ? ?df = pd.read_excel(os.path.join(path, f))
? ? ? ?all_data.append(df)
?
result = pd.concat(all_data, ignore_index=True)
result.to_excel("合并結果.xlsx", index=False)
print(f"合并完成,共{len(result)}行")六、數(shù)據(jù)清洗
# 刪除空值
df.dropna(inplace=True)
?
# 填充空值
df.fillna(0, inplace=True)
df.fillna(method="ffill", inplace=True) ?# 用上一個值填充
?
# 刪除重復行
df.drop_duplicates(inplace=True)
?
# 替換特定值
df.replace("舊值", "新值", inplace=True)
?
# 修改列名
df.rename(columns={"舊名": "新名"}, inplace=True)七、保存Excel
# 保存為Excel
df.to_excel("結果.xlsx", index=False)
?
# 多個DataFrame保存到不同sheet
with pd.ExcelWriter("多表.xlsx") as writer:
? ?df1.to_excel(writer, sheet_name="北京", index=False)
? ?df2.to_excel(writer, sheet_name="上海", index=False)完整示例:從讀取到輸出
import pandas as pd
import os
?
# 讀取數(shù)據(jù)
df = pd.read_excel("銷售數(shù)據(jù).xlsx")
?
# 數(shù)據(jù)清洗
df.dropna(inplace=True)
df.drop_duplicates(inplace=True)
?
# 按城市統(tǒng)計銷售額
result = df.groupby("城市")["銷售額"].agg(["sum", "mean", "count"])
result = result.reset_index()
result.columns = ["城市", "總銷售額", "平均銷售額", "訂單數(shù)"]
?
# 保存結果
result.to_excel("銷售統(tǒng)計結果.xlsx", index=False)
print("處理完成!")總結
pandas 是 Python 數(shù)據(jù)處理的核心工具,上面的 7 個場景覆蓋了日常工作中最常見的需求。建議收藏這篇文章,下次處理 Excel 時直接復制代碼改路徑就行。
到此這篇關于Python使用pandas批量處理Excel文件的實戰(zhàn)教程的文章就介紹到這了,更多相關Python pandas批量處理Excel文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Selenium 模擬瀏覽器動態(tài)加載頁面的實現(xiàn)方法
這篇文章主要介紹了Selenium 模擬瀏覽器動態(tài)加載頁面的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
Python多重分派multipledispatch庫的使用
multipledispatch庫為Python帶來了完整的多重分派能力,顯著提升了代碼的表達力和可維護性,本文就來詳細Python多重分派multipledispatch庫的使用,感興趣的可以了解一下2026-05-05
執(zhí)行Django數(shù)據(jù)遷移時報 1091錯誤及解決方法
這篇文章主要介紹了執(zhí)行Django數(shù)據(jù)遷移,報錯 1091,需要的朋友可以參考下2019-10-10
Pandas 中的join函數(shù)應用實現(xiàn)刪除多余的空行
這篇文章主要介紹了Pandas 中的join函數(shù)應用實現(xiàn)刪除多余的空行,str.join也就是sequence要連接的元素序列,下面我們來看看他的作用實現(xiàn)刪除多余的空行,需要的小伙伴可以參考一下2022-02-02

