用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/MrSGSA/math-modeling-skill-dify --skill xlsx命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
数学建模的题目理解、模型选择和算法设计阶段。输出题目分析报告与术语表格。
数学建模的程序实现、真实运行、表格输出、可视化和复现阶段,内置 Python 与 MATLAB 支持,并可遵循用户或竞赛指定环境。
数学建模代码完成后、论文定稿前的独立红队评审阶段。用于数据完整性与泄漏、目标指标对齐、参数语义与物理/统计约束、约束重拟合、可辨识性、跨模型冲突、验证与不确定性、实现对照、极端反例、集合计量、随机/网格收敛、跨表一致性和最优性措辞审计,也用于赛后审稿和依据评审意见修改论文。
基于 SOC 职业分类
正在显示 SKILL.md
| name | xlsx |
| description | 读取、创建、修改和验证 XLSX,支持模板保留、公式重算和错误检查。 |
许可:专有;完整条款见 LICENSE.txt。
PROJECT_ROOT。import pandas as pd
# 第一行就是数据时必须显式使用 header=None。
data = pd.read_excel("data/input.xlsx", sheet_name=0, header=None)
# 从题目数据合同、附件说明或独立原始计数填写;未知时保留 None 并先完成核验。
expected_rows = None
if expected_rows is None:
raise ValueError("请先从当前题目建立 expected_rows,不能沿用其他题数值")
if len(data) != expected_rows:
raise ValueError(f"行数异常: 实际 {len(data)},预期 {expected_rows}")
def write_result_table(names, values, output_path):
"""names/values 必须来自真实运行结果,output_path 必须位于 PROJECT_ROOT。"""
if len(names) != len(values):
raise ValueError("方案名与目标值数量不一致")
result = pd.DataFrame({"方案": names, "目标值": values})
result.to_excel(output_path, index=False)
禁止依赖 pandas.read_excel() 默认的 header=0 猜测表头,否则第一行数据会被当成列名。未知表头结构或必须精确保留行时使用无隐式推断的读取工具:
from scripts.read_rows import read_excel_rows
expected_rows = None # 从当前题目合同填写
if expected_rows is None:
raise ValueError("请先建立当前题目的预期行数")
rows = read_excel_rows(
"data/input.xlsx",
header=False,
expected_rows=expected_rows,
)
# 与原始附件独立抽取的首末行哨兵核对,不能在 Skill 中硬编码某道题的数值。
expected_first_row = None
expected_last_row = None
if expected_first_row is None or expected_last_row is None:
raise ValueError("请先记录当前附件的首末行哨兵")
if rows[0] != expected_first_row or rows[-1] != expected_last_row:
raise ValueError("首行或末行哨兵与原始附件不一致")
读取后必须核对首行、末行、原始工作表有效行数和题目声明的记录数;行数不符时立即报错,不得静默继续建模。
使用模板时用 openpyxl.load_workbook() 打开,写入指定单元格后另存新文件。不要删除未知工作表、命名区域、公式或验证规则。
openpyxl 不计算公式。修改含公式的工作簿后使用 LibreOffice 隔离重算:
python scripts/recalc.py "<PROJECT_ROOT>/results/结果.xlsx" 60
工具会:
DOCX 与 XLSX 共用的 OOXML/LibreOffice 基础代码位于 ../docx/scripts/office/,本工具不再维护重复副本。
#VALUE!、#DIV/0!、#REF!、#NAME?、#NULL!、#NUM!、#N/A。