
领导改需求
大家好,我是你们那位“领导改需求的速度,赶不上我改脚本的速度”的博主。
今天是我们30天自救计划的第十天,也是Python周的第三课。
前两天,我们见识了Python的威力,学会了如何给AI下指令。你已经能写出简单的Python脚本,处理Excel数据了。
但是,有一个职场难题,依然困扰着无数打工人——
领导总改需求!
以前的你: 每次改需求,重新打开Excel,重新拉透视表,重新调格式,重新做图表……一整天没了。
现在的你: 写一个Python脚本,领导改一次需求,你改一行代码,3秒重新出报表。领导还没说完,你已经把新报表发过去了。
今天,就教你打造这个 “抗领导折腾”的自动化报表系统。
假设你是某公司的销售数据分析师。每周一,你都要出一份《上周销售业绩简报》。
第一周:
领导说:“给我看看每个省份的销售额,按从高到低排。”
你打开Excel,拉透视表,排序,复制到新表,美化,保存,发邮件。耗时40分钟。
第二周:
领导说:“上次那个不错,但这周我想看每个产品类别的销售额,加上占比。”
你又打开Excel,重新拉透视表,重新算占比,重新美化,保存,发邮件。耗时40分钟。
第三周:
领导说:“哎,还是把省份和产品结合起来吧,做个二维表,看看哪个省份哪个产品卖得好。”
你已经开始怀疑人生了。
【截图位置:一个崩溃的打工人表情包,配文“领导又改需求了”】

一行代码搞定 一行代码搞定
今天,我们要写一个Python脚本,让它:
最关键的是:领导改需求,你只需要改脚本里的两三行“配置”,然后双击运行,新报表就出来了。
打开ChatGPT,输入以下指令(用昨天学的“五要素模板”):
“我是一个Python初学者。我有一个Excel文件叫‘销售数据.xlsx’,里面有四列:‘日期’、‘省份’、‘产品类别’、‘销售额’。我想写一个Python脚本,实现以下功能:
读取这个Excel文件
按指定的列进行分组统计(比如按‘省份’分组,对‘销售额’求和)
按销售额从高到低排序
生成一个柱状图并保存为图片
把统计结果和图表保存到一个新的Excel文件里
请把‘按什么分组’设计成一个变量,放在脚本开头,这样我下次改需求时只需要改这一行。给我完整的代码,每行加注释,并告诉我怎么运行。”
AI会给你类似这样的代码:
python
import pandas as pd
import matplotlib.pyplot as plt
# ========== 这里是“配置区”——改需求时只改这里!==========
分组列 = '省份'# 可以改成 '产品类别' 或 '日期'
统计列 = '销售额'
统计方式 = 'sum'# sum, mean, count 等
图表标题 = f'各{分组列}销售额分布'
输出文件名 = f'销售报表_{分组列}.xlsx'
# ====================================================
# 1. 读取数据
print("正在读取数据...")
df = pd.read_excel('销售数据.xlsx')
# 2. 按指定列分组统计
print(f"正在按 {分组列} 进行统计...")
result = df.groupby(分组列)[统计列].agg(统计方式).reset_index()
result = result.sort_values(统计列, ascending=False)
# 3. 生成图表
print("正在生成图表...")
plt.figure(figsize=(10, 6))
plt.bar(result[分组列], result[统计列])
plt.title(图表标题)
plt.xlabel(分组列)
plt.ylabel(统计列)
plt.xticks(rotation=45)
plt.tight_layout()
图表文件名 = f'图表_{分组列}.png'
plt.savefig(图表文件名)
plt.show()
# 4. 保存结果到Excel
print("正在保存结果...")
with pd.ExcelWriter(输出文件名, engine='openpyxl') as writer:
result.to_excel(writer, sheet_name='统计结果', index=False)
# 如果想在Excel里也插入图表,需要更复杂的操作
# 这里简单起见,我们只保存数据,图表单独保存文件
print(f"完成!报表已保存为:{输出文件名}")
print(f"图表已保存为:{图表文件名}")【截图位置:代码编辑器里显示这段代码,高亮标出“配置区”】
3秒后,你得到:
【截图位置:生成的Excel文件和图表图片】
场景1: 领导说:“哎,我不想看省份了,我想看产品类别。”
你打开 baobiao.py,找到配置区,把这一行:
python
分组列 = '省份'改成:
python
分组列 = '产品类别'保存,双击运行。3秒后,新报表出来了。

领导还没说完,报表已发
【截图位置:修改代码的对比图】
场景2: 领导说:“我不想看总和,我想看平均值。”
你修改配置区:
python
统计方式 = 'mean'# mean是平均值运行,搞定。
场景3: 领导说:“我想看每个省份的销售额,但还要看订单数量。”
这个稍微复杂一点,需要改一下代码。但你可以让AI帮你改:
“我现在是按‘省份’分组对‘销售额’求和,但我想同时统计每个省份的订单数量(行数),怎么改代码?”
AI会给你新的代码,你复制替换就行。
如果领导经常同时要多个维度的数据,我们可以让脚本一次生成多个报表:
python
# 配置多个分组维度
分组列表 = ['省份', '产品类别', '日期']
for 分组列 in 分组列表:
print(f"正在生成按 {分组列} 的报表...")
# 里面的统计代码和上面一样
# 只是把输出文件名改成包含分组列的名字这样运行一次,所有维度的报表都出来了。领导要啥你有啥。
每个人的数据不一样,需求也不一样。你可以用今天学的思路,让AI帮你定制专属的“报表自动化脚本”。
万能提问模板:
“我有一个Excel文件叫‘[文件名]’,里面有这些列:[列名列表]。我想写一个Python脚本,实现自动化报表:
我希望把【分组维度】和【统计方式】设计成变量,放在脚本开头方便修改
需要生成统计表格和对应的图表
结果保存到新的Excel文件
请给我完整代码,每行加注释”
作业题目:
照着今天的教程,打造你自己的“自动化报表脚本”。
操作步骤:
挑战版:
让AI帮你增加一个功能——自动把生成的报表通过邮件发送给老板(提示:可以用 yagmail 或 smtplib 库)。然后截图邮件发送成功界面。
“领导的需求千变万化,你的脚本以不变应万变。”
今天你学会了如何打造一个“抗领导折腾”的自动化报表系统。
从今天起,领导改需求不再是噩梦,而是你表演的机会:
明天Day 11,我们会学一个更刺激的:《我和我的那些“一次性”朋友——用Python发邮件》。教你如何让Python自动发邮件、发报表、发工资条,彻底告别手动发送的繁琐。
到时候你会发现,连“发送”这个动作,都可以交给Python。
评论区交给你:
你的领导最爱改什么需求?说出来让大家一起吐槽!
点击关注,每天学一招,让Python给你打工!
#Python教学 #报表自动化 #告别手动 #领导克星 #效率神器
P.S. 今天的作业如果成功了,以后每周一早上,双击一下脚本,报表自动生成。你可以悠哉地喝咖啡,等领导来夸你“效率高”。