AI数据分析实战:用Python自动处理Excel报表

📅 2026-05-08 · AI快速入门手册 · 阅读约 12 分钟

每天面对一堆Excel报表,手动复制粘贴、做透视表、画图表,是不是觉得特别浪费时间?其实,这些重复性工作完全可以交给Python来处理。今天我就带你用Python写一个自动处理Excel报表的脚本,让你真正体验一下AI数据分析的效率提升。

本文会手把手教你从零开始,用Python读取、清洗、分析并输出Excel报表。所有代码都可以直接复制运行,你只需要安装好Python环境就行。

准备工作:安装必要的库

Python处理Excel主要依赖两个库:pandas(数据处理)和openpyxl(读写Excel文件)。如果你还没装,打开终端或命令提示符,运行下面两行代码:

pip install pandas
pip install openpyxl

安装完成后,你就可以在Python中调用这些库了。如果你对Python基础还不熟,别担心,可以去www.aiflowyou.comPython速查手册栏目快速回顾一下常用语法。另外,微信小程序「AI快速入门手册」里也有Python入门章节,用手机就能随时查阅。

第一步:读取Excel文件并查看数据

假设你手头有一个名为销售数据.xlsx的Excel文件,里面包含日期、产品名称、销量、单价和销售额等字段。我们先把它读进来看看。

import pandas as pd

# 读取Excel文件
df = pd.read_excel('销售数据.xlsx')

# 查看前5行数据
print(df.head())

# 查看数据基本信息
print(df.info())

运行后,你会看到类似这样的输出:

        日期    产品名称  销量  单价   销售额
0  2024-01-01    A产品    10  50.0   500.0
1  2024-01-02    B产品     5  80.0   400.0
2  2024-01-03    A产品    12  50.0   600.0
...

df.info()会告诉你每列的数据类型、非空值数量等信息。如果发现某些列有空值或者数据类型不对(比如销售额是字符串),下一步就要处理了。

第二步:数据清洗与预处理

真实报表往往不干净,比如有空值、重复行、格式混乱等。下面这段代码能帮你自动处理常见问题:

# 删除全为空值的行
df.dropna(how='all', inplace=True)

# 填充缺失的销量为0(假设缺失表示未销售)
df['销量'].fillna(0, inplace=True)

# 删除完全重复的行
df.drop_duplicates(inplace=True)

# 将日期列转为标准日期格式
df['日期'] = pd.to_datetime(df['日期'], errors='coerce')

# 如果销售额为空,用销量*单价计算
df['销售额'].fillna(df['销量'] * df['单价'], inplace=True)

# 检查清洗后的数据
print(df.info())
print(df.head())

这一步做完,你的数据就变得干净、规范了。如果遇到更复杂的数据清洗场景(比如文本纠错、异常值检测),可以结合AI工具来辅助。微信小程序「AI快速入门手册」里有个AI词典栏目,收录了很多常用术语和技巧,遇到不懂的随时查。

第三步:数据分析与统计

数据干净了,接下来就可以做真正的分析。比如我们想看看每个产品的总销量和总销售额,按月份汇总趋势,或者找出销量最高的产品。

# 按产品分组统计
product_stats = df.groupby('产品名称').agg({
    '销量': 'sum',
    '销售额': 'sum'
}).reset_index()

print("各产品统计:")
print(product_stats)

# 按月份汇总
df['月份'] = df['日期'].dt.to_period('M')
monthly_stats = df.groupby('月份').agg({
    '销量': 'sum',
    '销售额': 'sum'
}).reset_index()

print("\n月度统计:")
print(monthly_stats)

# 找出销量最高的产品
top_product = df.groupby('产品名称')['销量'].sum().idxmax()
print(f"\n销量最高的产品是:{top_product}")

这些结果一目了然,完全不需要手动做透视表。如果你想深入学习更多数据分析方法,可以访问www.aiflowyou.com学习路径栏目,那里有从零到一的AI数据分析路线图。

第四步:自动生成报表Excel

分析完数据,我们当然希望把结果保存成漂亮的Excel文件,方便分享给同事或领导。下面这段代码会把多个分析结果写入同一个Excel的不同工作表(Sheet)中:

# 创建一个ExcelWriter对象
with pd.ExcelWriter('销售报表_分析结果.xlsx', engine='openpyxl') as writer:
    # 写入原始数据(清洗后)
    df.to_excel(writer, sheet_name='清洗后数据', index=False)

    # 写入各产品统计
    product_stats.to_excel(writer, sheet_name='产品统计', index=False)

    # 写入月度统计
    monthly_stats.to_excel(writer, sheet_name='月度趋势', index=False)

    # 写入销量最高的产品信息(单独一个Sheet)
    top_product_df = df[df['产品名称'] == top_product]
    top_product_df.to_excel(writer, sheet_name='明星产品详情', index=False)

print("报表已生成:销售报表_分析结果.xlsx")

运行后,你会在当前目录下看到一个名为销售报表_分析结果.xlsx的文件,打开它就能看到四个工作表,所有数据都自动整理好了。

第五步:加入简单可视化

光有数字还不够,有时候一张图表比一堆数字更直观。我们可以用matplotlibplotly快速生成图表,并保存为图片,再嵌入Excel。这里用最简单的matplotlib示例:

import matplotlib.pyplot as plt

# 设置中文字体(避免乱码)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 绘制月度销售额趋势图
plt.figure(figsize=(10, 6))
plt.plot(monthly_stats['月份'].astype(str), monthly_stats['销售额'], marker='o')
plt.title('月度销售额趋势')
plt.xlabel('月份')
plt.ylabel('销售额')
plt.xticks(rotation=45)
plt.grid(True)
plt.tight_layout()
plt.savefig('月度趋势图.png')
plt.show()

保存的图片可以手动插入Excel,或者用openpyxl编程插入,这里就不展开了。如果你对数据可视化感兴趣,微信小程序「AI快速入门手册」的工具库栏目里收录了不少可视化工具教程,包括Matplotlib、Seaborn等。

总结与行动建议

今天我们用Python实现了一个完整的Excel报表自动化流程:读取 → 清洗 → 分析 → 输出。整个过程不需要手动操作Excel,代码写好后,下次只需改一下文件路径就能一键运行,大大节省时间。

如果你想进一步提升,可以:

AI数据分析的核心不是代码本身,而是用工具把重复劳动自动化,让你把精力放在更有价值的决策上。如果你还想学习更多实战项目,比如用Python爬取网页数据、自动生成日报等,可以访问www.aiflowyou.com原创项目热门项目栏目,里面有大量带完整代码的案例。同时,别忘了在微信搜索小程序「AI快速入门手册」,随时随地碎片化学习,让AI技能融入你的日常工作。

更多 AI 学习资源,访问 AI快速入门手册 →

Mini Program QR

微信扫码 · 打开小程序

WeChat QR

微信扫码 · 添加好友