用途:当电子表格文件是主要输入或输出时使用,包括打开、读取、编辑、修复现有 .xlsx,以及新建表格、数据分析和财务模型。
主要能力:用 pandas 做数据分析、可视化与基础操作(pd.read_excel、sheet_name=None 读取全部工作表、df.to_excel 导出);用 openpyxl 处理公式、样式和 Excel 专有特性(新建/加载工作簿、插入删除行列、新增工作表、字体填充对齐与列宽设置);用 scripts/recalc.py 借助 LibreOffice 重算公式并扫描全部单元格的错误。
使用方式:数据分析与批量操作用 pandas,复杂格式与公式用 openpyxl;修改模板时须严格沿用原有格式、样式与约定,模板约定优先于一般规范。所有计算须写成 Excel 公式而非在 Python 中算好后硬编码,例如 =SUM(B2:B9)、=(C4-C2)/C2、=AVERAGE(D2:D19)。假设值(增长率、利润率、倍数等)须放在独立假设单元格并用单元格引用,例如 =B5*(1+$B$6)。写入公式后必须运行 python scripts/recalc.py output.xlsx [timeout_seconds] 重算,脚本返回 JSON,若 status 为 errors_found 则按 error_summary 定位修复 #REF!、#DIV/0!、#VALUE!、#NAME? 等错误后重算。
规范:交付文件须零公式错误;全表使用一致的专业字体(如 Arial、Times New Roman);财务模型按行业颜色约定:蓝色 (0,0,255) 为硬编码输入,黑色 (0,0,0) 为公式与计算,绿色 (0,128,0) 为本工作簿内跨表链接,红色 (255,0,0) 为外部文件链接,黄色背景 (255,255,0) 为需注意的关键假设或待更新单元格。数字格式:年份按文本字符串("2024"),货币用 $#,##0 并在表头标注单位(如 Revenue ($mm)),零值显示为 "-"(含百分比,如 "$#,##0;($#,##0);-"),百分比默认 0.0%,估值倍数用 0.0x,负数用括号。硬编码须注释来源,格式为 “Source: [系统/文档], [日期], [具体引用], [URL]”。
限制与注意事项:openpyxl 保存的公式只有字符串、没有计算值,必须重算;以 data_only=True 打开并保存会用值永久替换公式;单元格索引从 1 开始;大文件可用 read_only/write_only;pandas 需注意 dtype、日期解析与 NaN 处理;除法前检查分母,防止 #DIV/0!。其他具体收费、平台支持等信息暂未提供。