Python实战:用Pandas快速处理Excel数据

📝 174 字 · ☕ 1 分钟阅读

前言

日常工作中,Excel 数据清洗和整理往往是耗时最多的环节。无论是合并多个表格、筛选特定条件的数据,还是生成统计汇总,手动操作既容易出错又效率低下。本文将用 Python + Pandas 演示最常见的 Excel 数据处理场景,让你 5 分钟完成原本 1 小时的手工活。

环境准备

首先安装依赖库:

pip install pandas openpyxl

其中 openpyxl 是 Pandas 读写 .xlsx 文件的后端引擎。

核心实现

1. 读取 Excel 文件

import pandas as pd

# 读取单个sheet
df = pd.read_excel('销售数据.xlsx', sheet_name='Sheet1')

# 只看前5行预览
print(df.head())

2. 数据清洗常用操作

# 删除空行
df = df.dropna()

# 填充空值
df['金额'] = df['金额'].fillna(0)

# 删除重复行
df = df.drop_duplicates()

# 筛选条件:金额大于1000的订单
high_value = df[df['金额'] > 1000]

3. 分组统计与汇总

# 按销售地区统计总金额
summary = df.groupby('地区')['金额'].agg(['sum', 'mean', 'count'])
print(summary)

# 生成透视表
pivot = pd.pivot_table(df, values='金额', index='地区',
                       columns='产品类别', aggfunc='sum', fill_value=0)

4. 合并多个Excel文件

import os

folder = './月度报表/'
all_files = [f for f in os.listdir(folder) if f.endswith('.xlsx')]

df_list = [pd.read_excel(os.path.join(folder, f)) for f in all_files]
merged = pd.concat(df_list, ignore_index=True)

5. 导出结果

with pd.ExcelWriter('数据分析结果.xlsx', engine='openpyxl') as writer:
    merged.to_excel(writer, sheet_name='合并数据', index=False)
    summary.to_excel(writer, sheet_name='地区汇总')
    high_value.to_excel(writer, sheet_name='高价值订单', index=False)

总结

以上 5 个场景覆盖了日常 Excel 处理的 80% 需求:读取 → 清洗 → 筛选 → 统计 → 导出。核心要点:

  • read_excel() 是入口,to_excel() 是出口
  • groupby() + 聚合函数 = 秒杀数据透视表
  • pd.concat() 一键合并多个文件
  • 善用 dropna()fillna()drop_duplicates() 三步清洗

📤 分享这篇文章