[特殊字符] Python自动化办公 | 3步实现Excel数据清洗与可视化,效率提升300%
摘要
本文针对职场人每天花费2小时处理Excel的痛点,分享用Python自动化完成数据清洗、分析和可视化的方法。无需编程基础,复制代码即可使用,亲测可将日报生成时间从2小时缩短至10分钟。
一、痛点场景
你是否遇到过这些情况?
- 手动删除Excel重复值,眼睛看花
- 数据透视表操作复杂,领导临时要新维度分析
- 制作图表耗时,还被要求“换个样式试试”
本文解决方案:
用Python的pandas
+openpyxl
+matplotlib
库,3步完成:
- 数据读取与清洗
- 数据分析与计算
- 自动生成可视化图表
二、环境准备(5分钟)
# 安装必要库(命令行执行)
pip install pandas openpyxl matplotlib
三、核心代码实现(附注释)
1. 数据读取与清洗
import pandas as pd# 读取Excel文件
df = pd.read_excel('销售数据.xlsx')# 查看数据基本信息
print('数据基本信息:')
df.info()# 数据清洗
df = df.drop_duplicates() # 删除重复值
df = df.dropna() # 删除空值
df['日期'] = pd.to_datetime(df['日期']) # 转换日期格式print(f'清洗后数据量:{len(df)} 条')
2. 数据分析与计算
# 按产品类别分组统计销售额
category_sales = df.groupby('产品类别')['销售额'].sum().reset_index()# 计算月销售额趋势
monthly_sales = df.groupby(df['日期'].dt.to_period('M'))['销售额'].sum().reset_index()
monthly_sales['日期'] = monthly_sales['日期'].astype(str) # 转换日期格式用于可视化# 找出销售额TOP3的产品
top_products = df.groupby('产品名称')['销售额'].sum().sort_values(ascending=False).head(3)print('各类别销售额:\n', category_sales)
print('月销售额趋势:\n', monthly_sales)
print('销售额TOP3产品:\n', top_products)
3. 自动生成可视化图表
import matplotlib.pyplot as plt# 设置图片清晰度
plt.rcParams['figure.dpi'] = 300# 创建画布,包含3个子图
fig, axes = plt.subplots(1, 3, figsize=(18, 6))# 1. 各类别销售额占比(饼图)
axes[0].pie(category_sales['销售额'], labels=category_sales['产品类别'], autopct='%1.1f%%')
axes[0].set_title('各类别销售额占比')# 2. 月销售额趋势(折线图)
axes[1].plot(monthly_sales['日期'], monthly_sales['销售额'], marker='o')
axes[1].set_title('月销售额趋势')
axes[1].set_xlabel('月份')
axes[1].set_ylabel('销售额(万元)')
axes[1].grid(True)# 3. 销售额TOP3产品(柱状图)
axes[2].bar(top_products.index, top_products.values)
axes[2].set_title('销售额TOP3产品')
axes[2].set_xlabel('产品名称')
axes[2].set_ylabel('销售额(万元)')plt.tight_layout() # 调整布局
plt.savefig('销售数据分析图表.png') # 保存图表
plt.show()
四、代码运行效果
执行结果:
- 控制台输出数据统计结果
- 自动生成可视化图表
五、进阶优化
- 定时任务:使用Windows任务计划程序或Linux的crontab自动执行脚本
- 异常处理:
try:df = pd.read_excel('销售数据.xlsx') except FileNotFoundError:print('错误:未找到Excel文件,请检查路径!')
- 结果导出:将分析结果写入新Excel文件
with pd.ExcelWriter('销售数据分析结果.xlsx') as writer:category_sales.to_excel(writer, sheet_name='类别销售额')monthly_sales.to_excel(writer, sheet_name='月销售额趋势')
六、避坑指南
- Excel文件路径需使用原始字符串(如
r'C:\data\销售数据.xlsx'
) - 中文字体显示问题:
plt.rcParams["font.family"] = ["SimHei", "WenQuanYi Micro Hei", "Heiti TC"]
- 大数据量处理:使用
chunk_size
参数分块读取Excel
七、完整代码获取方式
- 关注博主并私信“自动化办公”获取完整代码
- GitHub仓库:https://github.com/yourname/python-office-automation
八、粉丝福利
🎁 关注+评论本文,抽取3位粉丝赠送《Python自动化办公实战》电子书!
文章优化技巧
- 标题:用数字+痛点+解决方案吸引点击
- 结构:每部分用小标题分割,代码块与文字说明穿插
- 互动:文末设置抽奖、提问等环节提高评论率
- SEO:标签包含“Python”“自动化办公”“Excel”“数据可视化”等热门关键词