关键词:WorkBuddy / 数据分析 / 自动化 / 可视化 适用场景:每天被各种 CSV、Excel 报表淹没,却又没时间做图的人。 本文是一篇完整教程,复制命令即可复现,无需任何手写代码基础。
你是不是经常遇到这样的循环:
WorkBuddy 的价值在于:你把「这一类活」描述一次,它就帮你把读取、清洗、分析、出图的全流程跑通,还能存成脚本反复用。本文带你从零跑通一个「CSV → 自动清洗 → 可视化报表」的闭环。
最终效果:丢一份任意结构的销售 CSV 进去,WorkBuddy 自动输出一张按月份汇总的销售额柱状图 + 一张品类占比饼图,全程零手工。
只需要两样东西:
我们用一个示例 CSV 演示。假定你手上的原始数据长这样(字段乱、还有空行和中文表头):
月份,产品,销售额,备注
2026-01,云服务器,120000,
2026-01,数据库,80000,
2026-02,云服务器,150000,
2026-02,数据库,95000,
2026-03,云服务器,180000,大促
2026-03,数据库,110000,
2026-03,CDN,60000,
,,,
2026-04,云服务器,200000,
2026-04,数据库,130000,
2026-04,CDN,75000,真实业务里数据往往比这还乱,但 WorkBuddy 的读取和清洗步骤能兜住绝大多数情况。
在 WorkBuddy 对话框里,直接用自然语言描述需求即可:
你:「读取 workspace 下的 sales.csv,去掉空行和无效列,按月份汇总各产品销售额,输出干净的数据表。」
WorkBuddy 会调用文件读取与脚本能力,帮你生成清洗逻辑。你也可以用下面的命令在 WorkBuddy 终端里直接验证(把路径换成你自己的):
# 在 WorkBuddy 终端中执行,确认文件已就位
ls -la sales.csv核心清洗思路(WorkBuddy 会自动帮你写,这里给出可对照的 Python 逻辑):
import pandas as pd
df = pd.read_csv("sales.csv")
# 去掉全空行
df = df.dropna(how="all")
# 只保留需要的列,并转成数值
df["销售额"] = pd.to_numeric(df["销售额"], errors="coerce")
df = df.dropna(subset=["销售额"])
# 按 月份 + 产品 汇总
pivot = df.pivot_table(index="月份", columns="产品",
values="销售额", aggfunc="sum").fillna(0)
print(pivot)输出示例:
产品 CDN 云服务器 数据库
月份
2026-01 0.0 120000.0 80000.0
2026-02 0.0 150000.0 95000.0
2026-03 60000.0 180000.0 110000.0
2026-04 75000.0 200000.0 130000.0继续在 WorkBuddy 里说:
你:「基于上面的汇总表,生成两张图:1)各月销售额堆叠柱状图;2)整体品类(产品)销售额占比饼图。保存到 workspace 下。」
WorkBuddy 会生成并运行绘图脚本。完整可复现脚本如下(analyze.py,已附在本文资源包):
import pandas as pd
import matplotlib
matplotlib.use("Agg") # 无界面环境也能出图
import matplotlib.pyplot as plt
# —— 1. 读取 & 清洗 ——
df = pd.read_csv("sales.csv").dropna(how="all")
df["销售额"] = pd.to_numeric(df["销售额"], errors="coerce")
df = df.dropna(subset=["销售额"])
# —— 2. 汇总 ——
pivot = df.pivot_table(index="月份", columns="产品",
values="销售额", aggfunc="sum").fillna(0)
# —— 3. 图一:堆叠柱状图 ——
ax = pivot.plot(kind="bar", stacked=True, figsize=(9, 5),
color=["#5B8FF9", "#61DDAA", "#F6BD16"])
ax.set_title("各月销售额汇总(堆叠)", fontsize=14)
ax.set_ylabel("销售额(元)")
ax.set_xlabel("月份")
plt.xticks(rotation=0)
plt.tight_layout()
plt.savefig("sales_by_month.png", dpi=150)
plt.close()
# —— 4. 图二:品类占比饼图 ——
category = df.groupby("产品")["销售额"].sum()
plt.figure(figsize=(6, 6))
plt.pie(category, labels=category.index, autopct="%1.1f%%",
colors=["#5B8FF9", "#61DDAA", "#F6BD16"], startangle=90)
plt.title("产品销售额占比", fontsize=14)
plt.tight_layout()
plt.savefig("sales_share.png", dpi=150)
plt.close()
print("✅ 图表已生成:sales_by_month.png / sales_share.png")在 WorkBuddy 终端运行:
python analyze.py终端会打印 ✅ 图表已生成:sales_by_month.png / sales_share.png,workspace 下就多了两张图。
这才是 WorkBuddy 真正省时间的地方。把上面这套逻辑固化成一个自动化任务(Automation),以后每天/每周把新 CSV 丢进同一目录,WorkBuddy 自动跑出图。
设置方法(在 WorkBuddy 中):
FREQ=WEEKLY;BYDAY=MO;BYHOUR=9(每周一早 9 点);从此外面的报表一进来,你醒来就有一张现成的图 + 一句结论,不用再手动点 Excel。
read_csv 换成遍历目录下所有 .csv,WorkBuddy 一句「把 data/ 下所有 csv 合并分析」即可。encoding="utf-8-sig",避免 Windows 下中文表头变乱码。color 换成你们品牌色,生成的图直接能进周报 PPT。pivot.to_excel("汇总.xlsx"),WorkBuddy 还能帮你把图嵌进文档。用 WorkBuddy 做「CSV → 可视化」只需要三步:
从「每次半小时手点 Excel」到「丢文件自动出图」,这就是 WorkBuddy 把重复劳动变成一次配置的价值。
demo/sales.csv —— 示例原始数据demo/analyze.py —— 完整可运行分析脚本demo/sales_by_month.png —— 生成的堆叠柱状图demo/sales_share.png —— 生成的品类占比饼图复制
demo/目录到你的 workspace,运行python analyze.py即可复现全部结果。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。