Xlsx
Skill woodfishhhh/EZ_math_model/skills/ez-math-model/tools/xlsx
专攻数学建模的下一代自动化SKIILS
npx -y skills add woodfishhhh/EZ_math_model --skill xlsxAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Use when EZ_math_model needs to read, preview, clean, write, or summarize CSV, XLS, or XLSX attachments and result tables for modeling tasks.
SKILL.md
1.6 KB, as published. Nobody here has run it
xlsx — 表格数据读写
何时使用
- 读取
.xlsx、.xls、.csv附件。 - 写出
results/qN_summary.csv或.xlsx。 - 生成
intake.json.attachments[i].preview。 - 大 CSV 需要分块处理。
预览契约
输出到 intake preview:
{
"shape": [1024, 8],
"columns": ["timestamp", "value"],
"head_3": [{"timestamp": "2024-01-01", "value": 12.3}],
"missing_per_col": {"value": 5}
}
优先链路
pandas读写和清洗。openpyxl写公式或保留 Excel 格式。- 宿主
xlsxskill 处理公式刷新、LibreOffice 重算等高级场景。
pandas 模板
import pandas as pd
df = pd.read_excel("attachments/data.xlsx")
preview = {
"shape": list(df.shape),
"columns": df.columns.tolist(),
"head_3": df.head(3).to_dict("records"),
"missing_per_col": {c: int(n) for c, n in df.isna().sum().items() if n > 0},
}
df.to_csv("results/q1_summary.csv", index=False, encoding="utf-8")
CSV 编码尝试顺序:utf-8 → gbk → gb2312 → latin-1。
大文件协议
pd.read_csv(path, chunksize=200_000)。- 提前指定
dtype。 - 必要时抽样 5% 做 EDA。
- 处理完及时释放分块 DataFrame。
失败诊断
| 情况 | 处理 |
|---|---|
| 编码全失败 | 写诊断,建议用户提供 utf-8 版 |
| 列名含非法字符 | 生成 ASCII 安全别名并保留 column_alias.json |
| 文件超过 1GB | chunksize 分块处理 |