5.2 KiB
5.2 KiB
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- 核心脚本引擎,分析需求并生成/执行脚本
🆕 自扩展能力详解
工作原理
- 需求分析:解析用户的自然语言描述
- 模板匹配:检查是否有可用的脚本模板
- 脚本生成:
- 有模板:使用模板 + 参数生成
- 无模板:自动生成通用脚本框架
- 执行并缓存:执行脚本并保存到
temp_scripts/供复用 - 结果返回:输出执行结果和统计信息
可用模板
模板位于 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 |
自然语言触发示例
# 货币转换
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
python scripts/read_excel.py /path/to/file.xlsx
合并文件
# 按行合并
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
替换内容
python scripts/replace_cells.py input.xlsx "旧值" "新值" output.xlsx
筛选数据
python scripts/filter_data.py input.xlsx --filter "列A > 100" --sort "列B" output.xlsx
批量处理
python scripts/batch_process.py --replace "旧值|新值" *.xlsx
技术依赖
- Python 3.8+
- openpyxl (读写 .xlsx)
- pandas (数据处理)
安装依赖:
pip install -r requirements.txt
注意事项
- 大文件处理可能需要较多内存
- 合并前请确保文件结构兼容
- 备份原始文件后再进行批量操作
- 公式可能在某些操作中丢失,建议保留原始文件
- 自扩展生成的脚本默认超时时间为 5 分钟
- 自动生成的脚本可能需要手动调整参数以适应特定需求