excel-toolkit/SKILL.md

160 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Excel Toolkit - Excel 文件智能处理
## 技能描述
提供 Excel 文件的智能处理功能,包括读取、合并、编辑、筛选等操作。支持 .xlsx 和 .csv 格式,可批量处理多个文件。
**核心特性:自扩展能力** - 遇到不支持的操作时,自动生成并执行临时脚本。
## 触发条件
当用户提及以下关键词时激活此技能:
- Excel 相关:`excel`、`xlsx`、`电子表格`、`工作簿`、`工作表`
- 文件操作:`读取 excel`、`打开 excel`、`合并 excel`、`合并工作表`
- 数据处理:`筛选数据`、`排序数据`、`去重`、`替换内容`、`翻译单元格`
- 批量操作:`批量处理 excel`、`批量合并`、`批量替换`
- CSV 相关:`csv`、`csv 转 excel`、`excel 转 csv`
- **自扩展触发**`计算`、`转换`、`透视`、`清洗`、`货币`、`汇率`、`公式`、`合并列`、`拆分列`
## 核心功能
### 1. 基础文件操作
- 读取 Excel 文件(.xlsx, .csv
- 创建新的 Excel 文件
- 保存和导出
### 2. 合并功能
- 按行合并多个文件
- 按列合并多个文件
- 合并同一文件中的多个 sheet
- 合并多个文件的指定 sheet
### 3. 数据处理
- 单元格内容替换
- 批量替换(支持正则表达式)
- 数据筛选(按条件筛选行)
- 数据排序(按列排序)
- 数据去重(基于指定列)
### 4. 🆕 自扩展功能
- **自动脚本生成**:根据自然语言需求自动生成处理脚本
- **模板复用**:常用操作使用预置模板,确保稳定可靠
- **智能缓存**:相同需求自动复用已生成的脚本
- **灵活扩展**:无模板时自动生成通用脚本框架
## 脚本说明
所有脚本位于 `scripts/` 目录,使用 Python 编写:
### 基础脚本
- `read_excel.py` - 读取 Excel 文件并显示内容
- `merge_excel.py` - 合并多个 Excel 文件
- `replace_cells.py` - 替换单元格内容
- `filter_data.py` - 筛选和排序数据
- `batch_process.py` - 批量处理多个文件
### 🆕 自扩展脚本
- `auto_script.py` - 核心脚本引擎,分析需求并生成/执行脚本
## 🆕 自扩展能力详解
### 工作原理
1. **需求分析**:解析用户的自然语言描述
2. **模板匹配**:检查是否有可用的脚本模板
3. **脚本生成**
- 有模板:使用模板 + 参数生成
- 无模板:自动生成通用脚本框架
4. **执行并缓存**:执行脚本并保存到 `temp_scripts/` 供复用
5. **结果返回**:输出执行结果和统计信息
### 可用模板
模板位于 `script_templates/` 目录:
| 模板 | 功能 | 触发关键词 |
|------|------|-----------|
| `currency_convert.py` | 货币/汇率转换 | 货币、汇率、转换、currency、convert |
| `pivot_summary.py` | 数据透视汇总 | 透视、汇总、聚合、pivot、summary |
| `data_clean.py` | 数据清洗(去空、格式化) | 清洗、去空、格式化、clean |
| `column_calc.py` | 列计算(加减乘除、公式) | 计算、加减乘除、公式、calc、calculate |
| `merge_columns.py` | 列合并/拆分 | 合并列、拆分、split、join |
### 自然语言触发示例
```bash
# 货币转换
python scripts/auto_script.py "把金额列从美元转换为人民币汇率7.2" --file sales.xlsx --output converted.xlsx
# 数据透视
python scripts/auto_script.py "按地区和产品透视汇总销售额" --file sales.xlsx --output summary.xlsx --group_by "地区,产品" --agg_column "销售额" --agg_func "sum"
# 数据清洗
python scripts/auto_script.py "清洗数据,删除空行并去除空格" --file data.xlsx --output cleaned.xlsx --drop_na --strip_whitespace
# 列计算
python scripts/auto_script.py "计算总价 = 单价 * 数量" --file products.xlsx --output result.xlsx --operation multiply --column1 "单价" --column2 "数量" --result_column "总价"
# 仅生成不执行(预览)
python scripts/auto_script.py "计算利润" --dry-run
```
### 脚本缓存
相同需求会自动复用已生成的脚本,存储位置:
- `temp_scripts/script_[hash].py`
- 哈希值基于需求描述生成
- 手动清理:删除 `temp_scripts/` 目录
## 基础功能使用示例
### 读取 Excel
```bash
python scripts/read_excel.py /path/to/file.xlsx
```
### 合并文件
```bash
# 按行合并
python scripts/merge_excel.py --mode row file1.xlsx file2.xlsx output.xlsx
# 按列合并
python scripts/merge_excel.py --mode col file1.xlsx file2.xlsx output.xlsx
```
### 替换内容
```bash
python scripts/replace_cells.py input.xlsx "旧值" "新值" output.xlsx
```
### 筛选数据
```bash
python scripts/filter_data.py input.xlsx --filter "列A > 100" --sort "列B" output.xlsx
```
### 批量处理
```bash
python scripts/batch_process.py --replace "旧值|新值" *.xlsx
```
## 技术依赖
- Python 3.8+
- openpyxl (读写 .xlsx)
- pandas (数据处理)
安装依赖:
```bash
pip install -r requirements.txt
```
## 注意事项
- 大文件处理可能需要较多内存
- 合并前请确保文件结构兼容
- 备份原始文件后再进行批量操作
- 公式可能在某些操作中丢失,建议保留原始文件
- 自扩展生成的脚本默认超时时间为 5 分钟
- 自动生成的脚本可能需要手动调整参数以适应特定需求