SuperAPI AI 工具集

xlsx

办公与效率

查看项目

更新于 10-15 09:44

技能介绍

用途

当格式要求明确为电子表格 / .xlsx / .csv / .tsv,无论是用户明确说明还是交付物强烈暗示时,使用本技能。适用于以下目标:读取或修改现有电子表格文件;将杂乱的 CSV/TSV/XLSX 数据清洗为规范的电子表格;在电子表格内添加公式、格式、图表、工作表标签或派生列;在表格类文件格式之间转换;将电子表格文件作为最终交付物。用户无需字面说出 .xlsx,只要明确想要工作簿、电子表格模型、表格化交付或 CSV/XLSX 交付,而非仅书面分析,本技能即可匹配。

不要将其作为所有数据相关任务的默认选项:如果用户只需要分析、解释或洞察而不需要电子表格文件,通用分析工作流可能更合适;如果用户想要 Word 文档交付物,优先使用 docx;如果用户想要 PDF 交付物,优先使用 pdf;如果用户想要演示文稿交付物,根据格式优先使用 pptx 或 html-ppt。

主要能力

  • 读取和分析数据:使用 pandas 进行数据分析、可视化和基本操作,可读取默认首个工作表或全部工作表,进行预览、列信息查看和统计描述。
  • 创建新 Excel 文件:使用 openpyxl 添加数据、公式和格式,设置字体、填充、对齐和列宽。
  • 编辑现有 Excel 文件:使用 openpyxl 保留公式和格式,修改单元格、插入行、删除列、添加新工作表,支持多工作表操作。
  • 公式重算:使用 scripts/recalc.py 脚本借助 LibreOffice 重新计算公式,扫描所有单元格中的 Excel 错误并返回 JSON 格式的详细错误位置和数量。

使用方式

关键原则:始终使用 Excel 公式而非在 Python 中计算后硬编码值,以确保电子表格保持动态和可更新。例如,应写入 '=SUM(B2:B9)' 而非硬编码求和结果,应写入 '=(C4-C2)/C2' 而非硬编码增长率。

常用工作流:选择工具(pandas 处理数据,openpyxl 处理公式/格式);创建或加载工作簿;修改数据、公式和格式;保存文件;如果使用了公式,必须使用 scripts/recalc.py 重新计算,命令为 python scripts/recalc.py output.xlsx;验证并修复错误,脚本返回 JSON 包含错误详情,若状态为 errors_found,检查 error_summary 中的具体错误类型和位置,修复后再次重算。

公式重算命令示例:python scripts/recalc.py output.xlsx 30。脚本会自动在首次运行时配置 LibreOffice 宏,重算所有工作表中的所有公式,扫描所有单元格中的 Excel 错误,返回 JSON 格式的详细错误位置和数量,适用于 Linux 和 macOS。

输出要求

所有 Excel 文件:使用一致的专业字体(如 Arial、Times New Roman),除非用户另有指示;每个 Excel 模型必须交付零公式错误(#REF!、#DIV/0!、#VALUE!、#N/A、#NAME?);更新模板时,研究并精确匹配现有格式、样式和约定,绝不将标准化格式强加于已有既定模式的文件,现有模板约定始终优先于这些指南。

财务模型颜色编码标准(除非用户或现有模板另有说明):蓝色文本(RGB: 0,0,255)用于硬编码输入和用户将更改的场景数字;黑色文本(RGB: 0,0,0)用于所有公式和计算;绿色文本(RGB: 0,128,0)用于同一工作簿内其他工作表的链接;红色文本(RGB: 255,0,0)用于外部文件链接;黄色背景(RGB: 255,255,0)用于需要关注的关键假设或需要更新的单元格。

数字格式标准:年份格式化为文本字符串(如 "2024" 而非 "2,024");货币使用 $#,##0 格式,始终在表头指定单位(如 "Revenue ($mm)");零值使用数字格式显示为 "-",包括百分比(如 "$#,##0;($#,##0);-");百分比默认使用 0.0% 格式(一位小数);倍数格式化为 0.0x 用于估值倍数(EV/EBITDA、P/E);负数使用括号 (123) 而非负号 -123。

公式构建规则:将所有假设(增长率、利润率、倍数等)放在单独的假设单元格中;在公式中使用单元格引用而非硬编码值,例如使用 =B5*(1+$B$6) 而非 =B5*1.05。公式错误预防:验证所有单元格引用正确;检查范围是否存在差一错误;确保所有预测期间公式一致;用边界情况测试(零值、负数);验证没有意外的循环引用。硬编码文档要求:在单元格中或旁边注释(若在表格末尾),格式为 "Source: [System/Document], [Date], [Specific Reference], [URL if applicable]"。

适用场景

适用于需要生成或处理电子表格交付物的任务,包括数据清洗、财务建模、表格格式转换、添加公式和图表等。

限制

需要 LibreOffice 用于公式重算,可假设已安装。使用 openpyxl 时,若以 data_only=True 打开并保存,公式将被值替换并永久丢失。公式以字符串形式保留但不会被求值,需使用 scripts/recalc.py 更新值。对于大文件,读取时使用 read_only=True,写入时使用 write_only=True。使用 pandas 时,应指定数据类型以避免推断问题,对于大文件读取特定列,正确处理日期。