一、前言:告别手动处理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秒 |
五、避坑指南
-
编码问题 :遇到中文乱码时添加
engine='openpyxl'
-
内存优化 :大数据集使用
chunksize
参数分块读取 -
样式保留 :需要保留原格式时推荐
xlwings
库
六、完整代码获取
👉 关注博主,私信回复【Excel自动化】获取本文完整代码+测试数据集!
七、结语
通过本文,我们见证了Python在数据处理中的强大威力。掌握Pandas不仅能提升工作效率,更能将重复劳动转化为创造性工作。你的下一个Excel插件,何必是VBA?
拓展学习:
-
《利用Python进行数据分析》(原书第2版)
标签 :Python
数据分析
办公自动化
Pandas
Excel技巧