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

 更新时间:2026年06月29日 08:49:54   作者:张老师技术栈  
本文详细介绍了使用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文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python 表格打印代码实例解析

    python 表格打印代码实例解析

    这篇文章主要介绍了python 表格打印代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Python字符编码判断方法分析

    Python字符编码判断方法分析

    这篇文章主要介绍了Python字符编码判断方法,结合实例形式分析了Python字符编码的判断技巧,并给出了chardet的安装与使用方法,需要的朋友可以参考下
    2016-07-07
  • Selenium 模拟浏览器动态加载页面的实现方法

    Selenium 模拟浏览器动态加载页面的实现方法

    这篇文章主要介绍了Selenium 模拟浏览器动态加载页面的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Python实现钉钉发送报警消息的方法

    Python实现钉钉发送报警消息的方法

    今天小编就为大家分享一篇Python实现钉钉发送报警消息的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • python实现画五角星和螺旋线的示例

    python实现画五角星和螺旋线的示例

    今天小编就为大家分享一篇python实现画五角星和螺旋线的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python实现人生重开模拟器小游戏讲解

    Python实现人生重开模拟器小游戏讲解

    这篇文章主要介绍了Python实现人生重开模拟器小游戏,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01
  • Python多重分派multipledispatch库的使用

    Python多重分派multipledispatch库的使用

    multipledispatch库为Python带来了完整的多重分派能力,显著提升了代码的表达力和可维护性,本文就来详细Python多重分派multipledispatch库的使用,感兴趣的可以了解一下
    2026-05-05
  • Python系统交互库解析过程

    Python系统交互库解析过程

    本文介绍了Python中os、sys、subprocess等模块及paramiko、Fabric、socket、requests等库的核心功能,涵盖文件操作、系统交互、进程管理、网络通信、数据处理等场景,并强调了安全使用YAML等格式的注意事项
    2025-07-07
  • 执行Django数据迁移时报 1091错误及解决方法

    执行Django数据迁移时报 1091错误及解决方法

    这篇文章主要介绍了执行Django数据迁移,报错 1091,需要的朋友可以参考下
    2019-10-10
  • Pandas 中的join函数应用实现删除多余的空行

    Pandas 中的join函数应用实现删除多余的空行

    这篇文章主要介绍了Pandas 中的join函数应用实现删除多余的空行,str.join也就是sequence要连接的元素序列,下面我们来看看他的作用实现删除多余的空行,需要的小伙伴可以参考一下
    2022-02-02

最新评论