数据与分析 xlsxopenpyxlcsvtsvexcel-formulasspreadsheet-chartspython

DeepTutor xlsx 技能

让智能体读写并编辑 Excel 工作簿和 CSV/TSV 表格——处理数据、公式、样式、图表与多表工作簿。

FollowSkills 评估 · FSRS-2.0
推荐
60/ 100 五分制 3.0 / 5
1 2 3 4 5 6
1信任安全18 / 25 · 3.6/5

技能仅声明 sandbox: shell,依赖 openpyxl 等已声明依赖,在用户工作区相对路径内读写,无网络外呼、无凭证访问、破坏性默认值为零,且明确告诫不要使用 /tmp、不要搜索桌面安装,数据流透明。扣分点:无独立回滚机制(编辑时建议保留源文件但非强制)、用户确认环节依赖宿主而非技能自身约定、发布方未经注册表验证(本身不扣分但归因信息有限)。

2可靠稳定9 / 20 · 2.3/5

指令自洽:openpyxl 公式不计算的 gotcha、data_only=True 禁止 save、插入行列需手工改公式等均准确,输出自校验(重载扫描错误字符串、zip 完整性)是加分项。扣分点:静态评审未执行任何关键路径,仓库内测试(test_api_endpoints.py 等)不覆盖该技能路径,异常输入(损坏 xlsx、加密文件)的失败反馈无证据。

3适用触发12 / 15 · 4.0/5

场景清晰(读取/创建/编辑 xlsx、csv/tsv),description 明确排除 Google Sheets API 与 Word/PDF,触发边界与非适用范围写明,运行时环境说明具体(openpyxl 全安装声明、pandas 不可假设)。扣分点:无输入/输出示例文件级别的契约,对超大规模文件的性能边界只有一句带过。

4规范维护11 / 15 · 3.7/5

文档分层良好(Runtime→Gotcha→读/建/编辑/图表/校验/CSV/OOXML),frontmatter 有 name/description/requires,仓库有 Apache-2.0 LICENSE、pyproject 打包声明(SKILL.md 作为包数据随 wheel 发布)、活跃发布记录。扣分点:技能本身无版本号/changelog/已知限制清单,维护责任仅能从仓库整体推断。

5有效结果6 / 15 · 2.0/5

指导针对真实痛点(公式缓存值、保留格式的编辑、无 LibreOffice 时的降级路径),给出的替代方案(写静态数字)边际价值明确。扣分点:静态评审无法验证产出文件可直接使用,有效性仅基于代码片段的书面合理性,代表性输出未经复核。

6证据核验4 / 10 · 2.0/5

技术论断(openpyxl 不算公式、data_only 保存丢公式标注'已验证')可由公开库行为交叉核对,代码示例可独立运行,pyproject 确认 openpyxl>=3.1.0 为声明依赖。扣分点:'verified'为作者自述,无针对该技能的测试或 CI 覆盖证据,未达第三方执行证据门槛,静态上限 5。

证据充分度: 评估于 2026年9月9日 审查版本 7a96bba1ae03
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 本评审为纯静态源码评审,未执行任何技能指令或代码,所有分数置信度为低。
  • 该技能以 openpyxl 生成的含公式文件在 Excel 打开前缓存值为空,若下游工具依赖缓存值会读到空数据,请按技能建议优先写静态数字。
  • 无 LibreOffice 环境时公式重算路径不可用,技能只能降级为提示用户在 Excel 中打开重算。
  • 仓库测试未覆盖该技能路径,技能行为的正确性目前仅有文档自述支持。
  • 发布方未经 FollowSkills 注册表验证,身份按未知处理;使用前请自行核对安装来源。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

这是 DeepTutor 仓库内置的 xlsx 技能(deeptutor/skills/builtin/xlsx/SKILL.md),指导模型用 Python 的 openpyxl 库读取、创建和编辑 .xlsx/.xlsm 文件,并批量处理 .csv/.tsv 表格。它覆盖单元格、公式、样式、合并单元格、多表工作簿、数字格式和图表,并特别强调 openpyxl 不计算公式的关键陷阱及应对策略。技能运行在带 shell 执行能力的沙箱中,通过 exec 运行 Python 代码,产出可直接交付的工作簿文件。它属于 DeepTutor 这个开源智能辅导平台(Apache-2.0 协议)捆绑的 6 个内置技能之一。

技能本身是一份 SKILL.md 操作手册,指示模型:用 openpyxl 的 load_workbook 流式读取大型工作簿或读取公式的缓存计算值;从零创建工作簿,写入表头、数据、样式(字体、填充、对齐、数字格式)、冻结窗格和第二个工作表,保存后立即用 load_workbook 和 zipfile 校验文件完整;编辑现有文件时保留原有格式,不经过 pandas 往返;用 write-only 模式流式导出大数据量;用 openpyxl.chart 生成柱状图/折线图/饼图/散点图;用 csv 模块转换 CSV/TSV 并清理脏数据;针对 openpyxl 写公式但不计算的问题,给出两条路径——直接在 Python 中算好写入静态数值,或写真实公式并在 soffice 可用时通过 LibreOffice 重算缓存值;最后重载输出文件扫描 #REF!、#DIV/0! 等错误字符串验证结果。

  1. 教学或科研场景中,需要把杂乱的 Excel 成绩表清洗、加列、加汇总公式后交付给学生或同事
  2. 分析型用户拿到多表 .xlsx 数据源,想提取并分析其中的数据而不破坏原有格式
  3. 需要从零生成带样式、冻结表头和图表的报告工作簿
  4. 处理大批量 CSV/TSV 导出,要求内存友好地流式写入
  5. 需要保留公式的动态财务或统计模型,交付后在 Excel 中继续编辑时能自动重算

这个 Skill 有哪些优点和局限?

优点
  • 明确指出并给出 openpyxl '写公式不计算' 这一常见陷阱的两种解决方案,输出默认即正确
  • 覆盖读取、创建、编辑、图表、CSV 全链路,并要求保存后立即校验文件和扫描公式错误
  • 强调编辑时保留原格式,避免 pandas 往返破坏样式
  • openpyxl 被声明为每个受支持的 DeepTutor 安装都具备,无需额外装依赖
局限
  • 需要可执行 Python 代码的沙箱,无 shell 执行能力的环境无法使用
  • openpyxl 无公式引擎:写公式的文件在 Excel 打开前缓存值为空,未装 LibreOffice 时无法预验证公式结果
  • 插入/删除行列不会自动修正引用偏移单元格的公式,需手动重指
  • 技能明确不覆盖 Google Sheets API,也不处理 Word/PDF 等其他输出格式
  • SKILL.md 未附带自动化测试套件,兼容性验证依赖运行时校验代码

如何安装这个 Skill?

该技能是 DeepTutor 仓库的内置技能,随安装自带,无需单独安装。完整平台安装:pip install -U deeptutor 后运行 deeptutor init 和 deeptutor start(需 Python 3.11+ 和 Node.js 20+);也可从源码克隆 https://github.com/HKUDS/DeepTutor 安装。若想单独把 SKILL.md 复用到其他 Agent Skills 兼容客户端,可将 deeptutor/skills/builtin/xlsx/ 目录拷入对应技能目录;仓库未单独说明独立的安装命令。

如何使用这个 Skill?

在 DeepTutor 对话中直接提出以电子表格为输入或交付物的请求即可,例如:"读取 data.xlsx,在末尾加一列环比增长率,并生成一个柱状图"。技能要求沙箱启用 exec/code_execution 工具(README 说明默认在本地/Docker 部署中已启用,docker-compose 部署路由到 runner sidecar)。若关闭 sandbox_allow_subprocess 设置,办公类技能将无法产出文件。触发时模型会编写并执行 openpyxl Python 脚本,然后返回文件下载链接。

这个 Skill 与同类方案有什么区别?

在 DeepTutor 生态内,它与同仓库捆绑的 docx/pdf/pptx 内置技能形成互补(分别对应 Word、PDF、PowerPoint 交付物);技能自身明确把 Google Sheets API 和 Office 文档类输出排除在范围之外,用户应按交付物类型选用对应技能。

常见问题

为什么我让技能写 =SUM 公式后读到的值是空的?
openpyxl 只写入公式字符串,不计算公式。技能给出两条路径:若只需正确数值,直接在 Python 中算好写入静态数字;若需要活公式,可在 soffice 可用时通过 LibreOffice 重算缓存值,否则需在 Excel 中打开文件后才可见计算结果。
使用这个技能有什么权限或安全要求?
技能需要沙箱中的 shell/代码执行权限(frontmatter 声明 requires sandbox: shell)。README 说明默认启用受限子进程沙箱,可通过 sandbox_allow_subprocess 设置关闭,但关闭后技能无法产出文件。
它支持哪些文件格式?
支持 .xlsx、.xlsm 工作簿(含多表、公式、样式、合并单元格、图表)以及批量 .csv/.tsv 表格。不支持 Google Sheets API,也不处理 Word/PDF/脚本类输出。
可以在没有 DeepTutor 平台的情况下使用吗?
该技能遵循开放的 Agent Skills 格式(SKILL.md + YAML frontmatter),无平台专属机制,任何提供 shell/文件系统访问的兼容客户端理论上都能使用,但 openpyxl 依赖需要自行保证可用。

同仓库的其他 Skills

均来自 HKUDS/DeepTutor

相关 Skills