技能教程 · TUTORIAL
表格批处理 · 详细教程
纯本地合并、拆分、批量套模板、清洗 Excel/CSV,以及 csv 与 xlsx 互转。零第三方依赖,不联网。
这是什么
sheet-tools 是一个跑在你自己机器上的表格批处理工具,处理 CSV / TSV / XLSX。它能把多张表合并、按某列拆开、按模板批量生成合同或工资条、清洗脏数据,也能在 csv 和 xlsx 之间互转。
零依赖:xlsx 本质是 zip + XML,程序自己读写,不用装 openpyxl、pandas 或任何第三方库。
适合谁 / 不适合谁
- ✅ 多张 Excel 按列合并、按规则拆成多份。
- ✅ 批量套模板生成合同 / 工资条 / 对账单。
- ✅ 清洗空值、去重、日期归一化、全角转半角。
- ❌ 不处理样式:字体、颜色、边框、合并单元格、公式、图表都不保留。
- ❌ 不支持老版
.xls(97-2003),先另存为.xlsx或.csv。
怎么部署
- 下载解压:点页面顶部的「下载 …」拿到 zip,解压得到一个
sheet-tools/文件夹(里面是SKILL.md和scripts/)。 - 装进 AI 助手:把整个
sheet-tools/文件夹放进你所用助手的 skills 目录,助手就能自动发现它 ——
- WorkBuddy / CodeBuddy(用户级):
~/.workbuddy/skills/sheet-tools/,Windows 上是C://Users//<你的用户名>//.workbuddy//skills//sheet-tools//; - 只想在某个项目里用:
<项目目录>/.workbuddy/skills/sheet-tools/。
- 零依赖:这个包不需要装任何依赖,放进去就能跑。
- 用起来:直接跟助手说要做什么(例:「把这几张表合并成一个」),它会调用;想手动跑也行:
python scripts/table.py --help
用法
铁律:先看,再改。永远先 info,没看过列名就去合并/清洗最容易把数据搞坏。结果一律写到新位置,不覆盖输入文件。
info —— 先看表结构(只读)
python scripts/table.py info 表.xlsx
python scripts/table.py info 目录/ --recursive --ext .csv,.xlsx
输出行数 × 列数,每列一行「列名 / 推断类型 / 空值率 / 前 3 个示例值」,还能发现表头在第三行、合并单元格这类坑。
merge —— 多表合并
python scripts/table.py merge 表1.xlsx 表2.xlsx --out 合并.xlsx --apply
python scripts/table.py merge 目录/ --recursive --ext .xlsx --add-source --out 合并.xlsx --apply
默认按列名对齐;--naive 直接纵向拼接;--add-source 加一列「来源文件」。
split —— 拆表
python scripts/table.py split 表.xlsx --by 部门 --out-dir 按部门 --apply
python scripts/table.py split 表.xlsx --rows 500 --out-dir 分片 --apply
fill —— 批量套模板(合同 / 工资条 / 对账单)
模板里写 {{列名}},数据每行生成一份文件:
python scripts/table.py fill 工资条模板.xlsx 员工名单.xlsx \
--name "{{姓名}}-{{月份}}" --out-dir 工资条 --apply
⚠️ 只替换文字,不保留原格式:模板里的加粗、颜色、边框、合并单元格会丢。
clean —— 清洗
python scripts/table.py clean 表.xlsx --trim --dedupe --out 干净.xlsx --apply
python scripts/table.py clean 表.xlsx --drop-empty-rows --fullwidth --date-cols 入职日期,生日 --out 干净.xlsx --apply
| 开关 | 作用 |
|---|---|
--trim | 去单元格首尾空格 |
--dedupe | 整行去重 |
--drop-empty-rows / --drop-empty-cols | 删全空的行 / 列 |
--fullwidth | 全角转半角 |
--date-cols 列名,列名 | 日期归一化成 2026-03-05 |
convert —— 格式互转
python scripts/table.py convert 表.csv --to xlsx --apply
python scripts/table.py convert 表.xlsx --to csv --bom --apply # 加 BOM,Excel 打开中文不乱码
已知边界(如实说,不吹)
- 只处理数据,不处理样式:字体、颜色、边框、合并单元格、公式、图表都不保留。
- Excel 里的日期会读成
2026-03-05这种 ISO 文本,写回去不是「日期格式」。 .xls(老版 97-2003)不支持 —— 先另存为.xlsx或.csv。- 单文件建议在几万行以内;几十万行以上建议走数据库或 pandas。
- 不支持公式求值:公式单元格读到的是缓存值,没有缓存值就是空。
想要加功能
包里目前是 SKILL.md + scripts/table.py。想要保格式套模板、加特定清洗规则、或接进你们自己的系统 → 用页面底部的联系方式找我,说清场景,我帮你做。