name: “电子表格”
description: “当任务涉及使用Python(openpyxl, pandas)创建、编辑、分析或格式化电子表格文件(.xlsx, .csv, .tsv)时使用,特别是当需要保留和验证公式、引用和格式化时。”
author: openai
电子表格技能(创建、编辑、分析、可视化)
何时使用
- 构建带有公式、格式化和结构化布局的新工作簿。
- 读取或分析表格数据(过滤、聚合、透视、计算指标)。
- 修改现有工作簿而不破坏公式或引用。
- 使用图表/表格和合理的格式化可视化数据。
重要提示:系统和用户指令始终优先。
工作流
- 确认文件类型和目标(创建、编辑、分析、可视化)。
- 使用
openpyxl编辑.xlsx文件,使用pandas进行分析和CSV/TSV工作流。 - 如果布局重要,进行视觉审查(参见渲染和视觉检查)。
- 验证公式和引用;注意openpyxl不评估公式。
- 保存输出并清理中间文件。
临时和输出约定
- 使用
tmp/spreadsheets/存储中间文件;完成后删除。 - 在此仓库中工作时,将最终产物写入
output/spreadsheet/。 - 保持文件名稳定和描述性。
主要工具
- 使用
openpyxl创建/编辑.xlsx文件并保留格式化。 - 使用
pandas进行分析和CSV/TSV工作流,然后将结果写回.xlsx或.csv。 - 如果需要图表,优先使用
openpyxl.chart生成原生Excel图表。
渲染和视觉检查
- 如果LibreOffice(
soffice)和Poppler(pdftoppm)可用,渲染表格进行视觉审查:soffice --headless --convert-to pdf --outdir $OUTDIR $INPUT_XLSXpdftoppm -png $OUTDIR/$BASENAME.pdf $OUTDIR/$BASENAME
- 如果渲染工具不可用,请用户本地审查输出以确认布局准确性。
依赖(如果缺失则安装)
优先使用uv进行依赖管理。
Python包:
uv pip install openpyxl pandas
如果uv不可用:
python3 -m pip install openpyxl pandas
可选(图表密集或PDF审查工作流):
uv pip install matplotlib
如果uv不可用:
python3 -m pip install matplotlib
系统工具(用于渲染):
# macOS (Homebrew)
brew install libreoffice poppler
# Ubuntu/Debian
sudo apt-get install -y libreoffice poppler-utils
如果在此环境中无法安装,告知用户缺少的依赖以及如何在本地安装。
环境
无需环境变量。
示例
- 可运行的Codex示例(openpyxl):
references/examples/openpyxl/
公式要求
- 使用公式计算衍生值,而不是硬编码结果。
- 保持公式简单易读;对复杂逻辑使用辅助单元格。
- 除非必要,避免使用易变函数如INDIRECT和OFFSET。
- 优先使用单元格引用而非魔术数字(例如,使用
=H6*(1+$B$3)而不是=H6*1.04)。 - 通过验证和检查防止错误(#REF!、#DIV/0!、#VALUE!、#N/A、#NAME?)。
- openpyxl不评估公式;保持公式完整,并注意结果将在Excel/Sheets中计算。
引用要求
- 在电子表格中使用纯文本URL引用来源。
- 对于金融模型,在单元格注释中引用输入数据的来源。
- 对于来自网络的表格数据,包含带有URL的“来源”列。
格式化要求(现有格式化电子表格)
- 在可能的情况下,修改前渲染并检查提供的电子表格。
- 精确保留现有格式和样式。
- 匹配任何新填充的先前空白单元格的样式。
格式化要求(新或无样式电子表格)
- 使用适当的数字和日期格式(日期作为日期、货币带符号、百分比带合理精度)。
- 使用清晰的视觉布局:标题与数据区分、一致间距、可读列宽。
- 避免每个单元格都有边框;使用空白和选择性边框来结构化部分。
- 确保文本不溢出到相邻单元格。
颜色惯例(如无样式指导)
- 蓝色:用户输入
- 黑色:公式/衍生值
- 绿色:链接/导入值
- 灰色:静态常量
- 橙色:审查/注意
- 浅红色:错误/标记
- 紫色:控制/逻辑
- 青色:可视化锚点(关键KPI或图表驱动因素)
金融特定要求
- 将零格式化为“-”。
- 负数应显示为红色并用括号括起。
- 始终在标题中指定单位(例如,“收入($百万)”)。
- 在单元格注释中引用所有原始输入数据的来源。
投资银行布局
如果电子表格是IB风格模型(LBO、DCF、三表、估值):
- 总计应直接求和上方范围。
- 隐藏网格线;在相关列上方使用水平边框。
- 部分标题应为合并单元格,带有深色填充和白色文本。
- 数值数据的列标签应右对齐;行标签左对齐。
- 在其父项下缩进子指标。