
痛点很具体
周五下午,从后台导出一张几千行的订单表:日期、地区、产品、金额、状态。老板要的是“这周卖得怎么样、哪里掉队了、下周盯什么”。手工透视表加写文案,至少磨一小时。
第一步:用 pandas 算出关键指标
import pandas as pd
df = pd.read_excel("sales.xlsx")
this_week = df[df["日期"] >= "2026-07-20"]
last_week = df[(df["日期"] >= "2026-07-13") & (df["日期"] < "2026-07-20")]
rev = this_week["金额"].sum()
rev_lw = last_week["金额"].sum()
growth = (rev - rev_lw) / rev_lw
top_region = this_week.groupby("地区")["金额"].sum().idxmax()
print(f"本周营收 {rev:,.0f},环比 {growth:+.1%},冠军地区 {top_region}")跑完你就有了营收、环比、最强地区、Top 产品这些硬数字。把日期换成你自己的统计周期即可。
第二步:把数字交给大模型写周报
别让模型编数字,只让它组织语言。把刚算出的指标当作事实喂进去,prompt 明确要求“不要编造数据,只基于以下数字写三段”。
from openai import OpenAI
client = OpenAI(api_key="你的key", base_url="https://dashscope.aliyuncs.com/compatible-mode/v1")
facts = f"本周营收{rev:,.0f}元,环比{growth:+.1%},最强地区{top_region}"
r = client.chat.completions.create(
model="qwen-plus",
messages=[{"role": "user", "content": f"基于以下事实写一份销售周报(3段,不编造):{facts}"}]
)
print(r.choices[0].message.content)base_url 用的是通义千问的兼容接口,换成 DeepSeek 也行,只要模型支持 OpenAI 格式。关键原则:数字来自前面的 pandas,模型只负责把话讲明白。
上线成每周自动任务
- 把上面两段拼成一个 .py,参数化日期,谁都能跑。
- 用 Windows 任务计划 / macOS launchd / 服务器 cron 每周五 17:00 自动执行,结果发邮件或推到群里。
- 真要偷懒,把这活接到上一篇文章的 n8n 工作流里,连成一气。