【Python实战】用Pandas轻松实现Excel数据清洗与可视化

一、前言:告别手动处理Excel的烦恼

在日常工作中,Excel数据处理是许多开发者、数据分析师的"必修课"。但面对重复性的数据清洗、格式转换和报表生成,手动操作不仅效率低下,还容易出错。本文将通过Python的Pandas库,教你3行代码批量处理Excel文件,并利用Matplotlib自动生成可视化图表。


二、环境准备

1. 安装必备库

python

复制代码
pip install pandas openpyxl matplotlib
  • pandas:数据处理核心库

  • openpyxl:支持Excel 2010+文件格式

  • matplotlib:数据可视化工具

2. 示例数据(sales_data.xlsx)

订单ID 日期 销售额 地区
1001 2023-01-05 1500 北京
1002 2023-01-12 NaN 上海
... ... ... ...

三、实战步骤

1. 快速读取与合并Excel文件

复制代码
import pandas as pd

# 读取单个文件
df = pd.read_excel("sales_data.xlsx", sheet_name="Sheet1")

# 批量合并文件夹下所有Excel
import os
all_files = [f for f in os.listdir("./data") if f.endswith(".xlsx")]
combined_df = pd.concat([pd.read_excel(f) for f in all_files])

2. 数据清洗四步法

复制代码
# 处理缺失值
df['销售额'].fillna(df['销售额'].mean(), inplace=True)

# 删除重复行
df.drop_duplicates(subset=['订单ID'], keep='first', inplace=True)

# 类型转换
df['日期'] = pd.to_datetime(df['日期'])

# 异常值过滤
df = df[(df['销售额'] > 0) & (df['销售额'] < 100000)]

3. 高级操作:数据透视与分组统计

复制代码
# 按地区统计月销售额
pivot_table = df.pivot_table(
    index=df['日期'].dt.month,
    columns='地区',
    values='销售额',
    aggfunc='sum'
)

# 输出结果
print(pivot_table.to_markdown())  # 转为Markdown格式方便博客插入

4. 自动化可视化(Matplotlib集成)

复制代码
import matplotlib.pyplot as plt

# 绘制各地区销售额趋势
df.groupby(['地区', df['日期'].dt.month])['销售额'].sum().unstack().plot(
    kind='line',
    marker='o',
    figsize=(10,6)
)

plt.title('2023年度各地区月度销售趋势')
plt.xlabel('月份')
plt.ylabel('销售额(万元)')
plt.grid(True)
plt.savefig('sales_trend.png')  # 保存图表

四、效率对比

操作项 传统手动处理 Python自动化
10个文件合并 30分钟 5秒
数据清洗 易出错 精准处理
生成月报图表 1小时 10秒

五、避坑指南

  1. 编码问题 :遇到中文乱码时添加engine='openpyxl'

  2. 内存优化 :大数据集使用chunksize参数分块读取

  3. 样式保留 :需要保留原格式时推荐xlwings


六、完整代码获取

👉 关注博主,私信回复【Excel自动化】获取本文完整代码+测试数据集!


七、结语

通过本文,我们见证了Python在数据处理中的强大威力。掌握Pandas不仅能提升工作效率,更能将重复劳动转化为创造性工作。你的下一个Excel插件,何必是VBA?

拓展学习


标签Python 数据分析 办公自动化 Pandas Excel技巧

相关推荐
习习.y16 分钟前
关于python中的面向对象
开发语言·python
hmbbcsm24 分钟前
练习python题目小记(六)
开发语言·python
wow_DG33 分钟前
【Python✨】VS Code 秒开 Python 类型检查:一招 mypy + settings.json 让你的 Bug 原地现形!
python·json·bug
allbs1 小时前
spring boot项目excel导出功能封装——3.图表导出
spring boot·后端·excel
Aspect of twilight1 小时前
LeetCode华为大模型岗刷题
python·leetcode·华为·力扣·算法题
空影星1 小时前
高效追踪电脑使用时间,Tockler助你优化时间管理
python·django·flask
LiLiYuan.1 小时前
【Lombok库常用注解】
java·开发语言·python
不去幼儿园2 小时前
【启发式算法】灰狼优化算法(Grey Wolf Optimizer, GWO)详细介绍(Python)
人工智能·python·算法·机器学习·启发式算法
二川bro2 小时前
数据可视化进阶:Python动态图表制作实战
开发语言·python·信息可视化
青青子衿_212 小时前
TikTok爬取——视频、元数据、一级评论
爬虫·python·selenium