python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python pandas批量处理Excel文件

Python使用pandas批量处理Excel文件的实战教程

作者:张老师技术栈

本文详细介绍了使用pandas处理Excel文件的7个常见场景,包括读取、筛选、统计和合并等操作,帮助助日常办公需求,涵盖数据查看、分组统计、数据清洗等关键步骤,适合Python和Excel处理初学者学习,需要的朋友可以参考下

日常办公中,Excel 文件处理是最常见的需求。这篇文章用 pandas 实现 7 个最常用的 Excel 处理场景,代码直接复制就能用。

一、读取Excel

import pandas as pd
​
# 读取全部sheet
df = pd.read_excel("数据.xlsx")
​
# 读取指定sheet
df = pd.read_excel("数据.xlsx", sheet_name="Sheet1")
​
# 读取前5行
df = pd.read_excel("数据.xlsx", nrows=5)
​
# 指定某一列作为索引
df = pd.read_excel("数据.xlsx", index_col="编号")

二、查看数据

# 查看前5行
print(df.head())
​
# 查看基本信息(列名、类型、非空数量)
print(df.info())
​
# 查看统计摘要(均值、标准差、四分位数)
print(df.describe())
​
# 查看列名
print(df.columns.tolist())

三、数据筛选

# 筛选某一列等于某个值
df[df["城市"] == "北京"]
​
# 多条件筛选(&表示且,|表示或)
df[(df["城市"] == "北京") & (df["销售额"] > 10000)]
​
# 按某列的值筛选
df[df["姓名"].isin(["张三", "李四"])]

四、数据分组统计

# 按城市分组,求销售额总和
df.groupby("城市")["销售额"].sum()
​
# 分组后多个统计值
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 = "销售数据"
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)}行")

六、数据清洗

# 删除空值
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
​
# 读取数据
df = pd.read_excel("销售数据.xlsx")
​
# 数据清洗
df.dropna(inplace=True)
df.drop_duplicates(inplace=True)
​
# 按城市统计销售额
result = df.groupby("城市")["销售额"].agg(["sum", "mean", "count"])
result = result.reset_index()
result.columns = ["城市", "总销售额", "平均销售额", "订单数"]
​
# 保存结果
result.to_excel("销售统计结果.xlsx", index=False)
print("处理完成!")

总结

pandas 是 Python 数据处理的核心工具,上面的 7 个场景覆盖了日常工作中最常见的需求。建议收藏这篇文章,下次处理 Excel 时直接复制代码改路径就行。

到此这篇关于Python使用pandas批量处理Excel文件的实战教程的文章就介绍到这了,更多相关Python pandas批量处理Excel文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文