excel2pdf
将 Excel 文件的指定工作表转换为 PDF 格式。当用户提到 Excel 转 PDF、表格转 PDF、导出 Excel 为 PDF 时使用。
按 Excel 中记录的新旧文件名映射批量重命名文件。当用户提到按表格/清单批量改名、按 Excel 对照表重命名文件、批量修改文件名但改名规则已列在表格里时使用。
$ npx -y skills add coderwanfeng/python-office --skill batch_rename_by_excel --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/batch_rename_by_excelContext preview
The summary Claude sees to decide when to auto-load this skill.
按 Excel 中记录的新旧文件名映射批量重命名文件。当用户提到按表格/清单批量改名、按 Excel 对照表重命名文件、批量修改文件名但改名规则已列在表格里时使用。
name: batch_rename_by_excel description: 按 Excel 中记录的新旧文件名映射批量重命名文件。当用户提到按表格/清单批量改名、按 Excel 对照表重命名文件、批量修改文件名但改名规则已列在表格里时使用。
> 按 Excel 映射批量重命名文件
用户手里有一批需要改名的文件,改名前后的对应关系已经整理在 Excel 里。本 Skill 读取 Excel 中的「原文件名 → 新文件名」映射,批量重命名指定目录下的文件。
和 `replace4filename` 的区别:`replace4filename` 是「按规则批量替换文件名中的字符」, 本 Skill 是「按 Excel 中逐行指定的映射改名」,适合改名规则不统一、只能逐个列出的场景。
`skills/file/batch_rename_by_excel/`
from skills.file.batch_rename_by_excel import batch_rename_by_excel
实现代码位于贡献者目录,也可以直接引用:
from contributors.my12yyds.batch_rename_by_excel import batch_rename_by_excel
> 注意:`contributors/` 不随 `pip install python-office` 一起发布,安装包环境中请直接 > 复制 `contributors/my12yyds/batch_rename_by_excel.py` 到自己的项目里使用。
| 参数 | 类型 | 必填 | 默认值 | 说明 | |------|------|------|--------|------| | `excel_path` | str | 是 | - | 记录新旧文件名映射的 Excel 文件路径,支持 `.xlsx` | | `folder_path` | str | 是 | - | 需要重命名文件所在的目录路径,只处理该目录第一层的文件 | | `old_name_column` | str | 否 | `'原文件名'` | Excel 中存放原文件名的列名 | | `new_name_column` | str | 否 | `'新文件名'` | Excel 中存放新文件名的列名 | | `sheet_name` | str | 否 | `None` | 工作表名称,默认使用第一个工作表 | | `dry_run` | bool | 否 | `False` | 为 `True` 时只返回重命名计划,不真正修改文件 |
`dict`,包含 4 个键:
| 键 | 类型 | 说明 | |----|------|------| | `renamed` | list | 已重命名的记录,元素为 `(原文件名, 新文件名)` 元组;`dry_run=True` 时为计划重命名的记录 | | `skipped` | list | 未执行重命名的记录,元素为 `(文件名, 原因)` 元组,例如新旧文件名相同、原文件名或新文件名为空 | | `missing` | list | Excel 中有记录、但目录下找不到的原文件名 | | `conflicts` | list | 目标文件名已存在,为避免覆盖而跳过的原文件名 |
Excel 内容(表头必须是这两列):
| 原文件名 | 新文件名 | |---|---| | a.txt | 2026年1月报表.txt | | b.txt | 2026年2月报表.txt |
from skills.file.batch_rename_by_excel import batch_rename_by_excel
# 先预览,确认映射没问题
result = batch_rename_by_excel(
excel_path='./rename_list.xlsx',
folder_path='./files',
dry_run=True,
)
print(result['renamed'])
# 确认无误后再真正执行
result = batch_rename_by_excel(
excel_path='./rename_list.xlsx',
folder_path='./files',
)
print('成功', len(result['renamed']), '个')
print('找不到', result['missing'])
print('目标已存在', result['conflicts'])`contributors/my12yyds/batch_rename_by_excel.py::batch_rename_by_excel`
将 Excel 文件的指定工作表转换为 PDF 格式。当用户提到 Excel 转 PDF、表格转 PDF、导出 Excel 为 PDF 时使用。
在 Excel 文件中搜索指定关键词并返回文件、行号、详情。当用户提到搜索 Excel、Excel 查找、Excel 搜索内容时使用。
将多个 Excel 文件合并到一个 Excel 的不同 sheet 中。当用户提到合并 Excel、合并多个表格、多个 Excel 合并时使用。
将多个 Excel 文件的多个 sheet 合并到同一个 sheet。当用户提到合并 sheet、跨表合并、汇总多个表格时使用。
将同一个 Excel 文件的多个 sheet 拆分为独立文件。当用户提到拆分 sheet、Excel 按表拆分、拆 sheet 时使用。