用途
该技能用于创建、编辑、分析或格式化电子表格,支持 .xlsx、.csv、.tsv 等文件类型,主要借助 Python 的 openpyxl 与 pandas 完成。适用场景包括:构建带公式、格式和结构化布局的新工作簿;读取或分析表格数据(筛选、聚合、透视、计算指标);修改现有工作簿而不破坏公式或引用;用图表或表格对数据进行可视化并配以合理格式。技能说明中明确:系统与用户指令始终优先。
主要能力
- 创建带公式、格式与结构化布局的新工作簿。
- 读取与分析表格数据:筛选、聚合、透视、计算指标。
- 在保留公式与引用的前提下编辑现有工作簿。
- 通过图表或表格进行数据可视化并应用合理格式。
- 使用
openpyxl创建与编辑.xlsx文件并保留格式。 - 使用
pandas进行分析以及 CSV/TSV 工作流,再将结果写回.xlsx或.csv。 - 需要图表时优先使用
openpyxl.chart生成原生 Excel 图表。
工作流程
- 确认文件类型与目标(创建、编辑、分析、可视化)。
- 使用
openpyxl编辑.xlsx,使用pandas进行分析与 CSV/TSV 工作流。 - 若布局重要,渲染输出以供视觉检查(见下方“渲染与视觉检查”)。
- 校验公式与引用;注意
openpyxl不会计算公式。 - 保存输出并清理中间文件。
临时与输出约定:中间文件使用 tmp/spreadsheets/,完成后删除;在此仓库中工作时,最终产物写入 output/spreadsheet/;保持文件名稳定且具描述性。
使用方式
安装依赖(缺失时安装),优先使用 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/
渲染与视觉检查:若 LibreOffice(soffice)与 Poppler(pdftoppm)可用,可渲染工作表进行视觉审查:
soffice --headless --convert-to pdf --outdir $OUTDIR $INPUT_XLSX
pdftoppm -png $OUTDIR/$BASENAME.pdf $OUTDIR/$BASENAME
若渲染工具不可用,请用户在本机审查输出以确保布局准确。
公式与引用要求
- 派生值使用公式而非硬编码结果。
- 保持公式简洁可读;复杂逻辑使用辅助单元格。
- 避免使用
INDIRECT、OFFSET等易变函数,除非确有必要。 - 优先使用单元格引用而非魔数(例如
=H6*(1+$B$3)而非=H6*1.04)。 - 通过校验与检查防范
#REF!、#DIV/0!、#VALUE!、#N/A、#NAME?等错误。 openpyxl不计算公式;保留公式原样,并说明结果将在 Excel/Sheets 中计算。
引用要求
- 在电子表格内部使用纯文本 URL 标注来源。
- 财务模型应在单元格批注中标注输入项来源。
- 来源于网络的表格数据应包含带 URL 的 Source 列。
格式化要求
针对已有格式的电子表格:修改前尽可能先渲染并检查提供的表格;精确保留既有格式与样式;对原本空白、新填充的单元格匹配相同样式。
针对新建或未设置样式的电子表格:使用合适的数字与日期格式(日期作为日期、货币带符号、百分比精度合理);采用简洁视觉布局——表头与数据区分、间距一致、列宽可读;避免为每个单元格加边框,改用留白与选择性边框来组织区块;确保文本不溢出至相邻单元格。
颜色约定(若无样式指引):蓝色为用户输入,黑色为公式/派生值,绿色为链接/导入值,灰色为静态常量,橙色为复核/警示,浅红色为错误/标记,紫色为控制/逻辑,青色为可视化锚点(关键 KPI 或图表驱动项)。
财务相关要求:零值格式化为“-”;负数应为红色并加括号;表头始终标注单位(如“Revenue ($mm)”);所有原始输入在单元格批注中标注来源。
投资银行式布局:若表格为 IB 风格模型(LBO、DCF、三表、估值),总计应直接对紧邻上方区域求和;隐藏网格线,在总计上方跨相关列使用水平边框;区块标题使用深色填充与白色文字的合并单元格;数值数据的列标签右对齐,行标签左对齐;子指标缩进于其父行项之下。
适用场景
适用于需要以编程方式处理电子表格的任务,尤其是需要保留格式、公式和引用的场景,如构建新工作簿、分析表格数据、修改现有工作簿以及数据可视化。也适用于财务与投资银行类模型的制作,因为说明中给出了相应的格式与布局规范。
限制
openpyxl 不具备公式计算能力,公式结果需在 Excel 或 Google Sheets 中计算;渲染与视觉检查依赖 LibreOffice 与 Poppler,若不可用则需用户在本机审查输出;依赖项缺失时需用户自行安装;技能本身不提供必需环境变量。资料中未提供其他限制、收费或价格信息。