SuperAPI AI 工具集

spreadsheet-processor

办公与效率

查看项目

更新于 10-14 13:59

技能介绍

spreadsheet-processor 是一个面向 AI 智能体的电子表格处理技能,主要用途是创建、编辑、分析和转换 Excel(.xlsx)文件,并在处理过程中支持公式与格式。

【主要能力】 该技能可读取、分析和写入 Excel 数据,支持多工作表操作、插入或删除行列、添加新工作表以及设置字体、填充、对齐和列宽等格式。对于复杂工作簿,它能够保留既有公式与格式,并在修改后重新计算公式值。

【输出质量要求】 所有 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%(一位小数);估值倍数(EV/EBITDA、P/E)格式化为 0.0x;负值使用括号(123)而非负号 -123。

【公式构建规则】 所有假设值(增长率、利润率、倍数等)应放置在独立的假设单元格中,公式中应使用单元格引用而非硬编码数值,例如使用 =B5*(1+$B$6) 而非 =B5*1.05。需验证所有单元格引用正确,检查范围是否存在差一错误,确保各预测期公式一致,并用零值、负数和极大值等边界情况测试,同时确认没有意外的循环引用。硬编码数据需在单元格中或表格末尾注释说明来源,格式为 "Source: [系统/文档], [日期], [具体引用], [URL 如适用]",例如 "Source: Company 10-K, FY2024, Page 45, Revenue Note, [SEC EDGAR URL]"。

【使用方式】 数据分析与可视化使用 pandas:可通过 pd.read_excel('file.xlsx') 读取文件,sheet_name=None 读取所有工作表,使用 df.head()、df.info()、df.describe() 进行分析。复杂格式与公式使用 openpyxl:通过 Workbook() 新建工作簿,load_workbook() 加载既有文件,设置 Font、PatternFill、Alignment 等样式,并保存文件。

关键要求:应始终使用 Excel 公式而非在 Python 中计算后硬编码数值,以确保电子表格保持动态可更新。例如总和使用 =SUM(B2:B9)、增长率使用 =(C4-C2)/C2、平均值使用 =AVERAGE(D2:D19)。此原则适用于所有计算。

公式重算需使用 recalc.py 脚本(假设已安装 LibreOffice,脚本首次运行会自动配置):python recalc.py output.xlsx [timeout_seconds]。脚本会重新计算所有工作表中的公式,扫描所有单元格中的 Excel 错误,并返回包含错误位置与数量的 JSON。若返回 status 为 errors_found,需查看 error_summary 中的具体错误类型和位置,修复后重新计算。

【公式验证清单】 在构建完整模型前测试 2-3 个样本引用,确认列映射正确(如第 64 列是 BL 而非 BK),注意 Excel 行从 1 开始索引(DataFrame 第 5 行对应 Excel 第 6 行)。常见陷阱包括:使用 pd.notna() 检查空值、注意最右侧列(财年数据常在 50 列以后)、搜索所有匹配项而非仅第一个、在使用除法前检查分母是否为零、验证所有引用指向预期单元格、跨表引用使用正确格式(Sheet1!A1)。

【库选择与最佳实践】 pandas 适合数据分析、批量操作和简单数据导出;openpyxl 适合复杂格式、公式和 Excel 特有功能。openpyxl 单元格索引从 1 开始,可使用 data_only=True 读取计算值,但需注意以此模式打开并保存会用数值永久替换公式。大文件可使用 read_only=True 或 write_only=True。使用 pandas 时可指定 dtype 避免类型推断问题,大文件可只读取特定列(usecols),日期列使用 parse_dates 正确解析。

【代码风格】 生成 Excel 操作的 Python 代码时应保持简洁,避免多余注释、冗长变量名、冗余操作和不必要的 print 语句。对于 Excel 文件本身,应在复杂公式或重要假设所在单元格添加注释,记录硬编码值的数据来源,并为关键计算和模型部分添加说明。

【限制】 关于该技能的收费、价格、具体支持平台范围、性能效果等信息,资料中暂未提供。