Excel数据合并

👤 Captain 📦 v1.0.0 ⭐ 4.5 ⬇️ 2.3K 下载
📄 办公效率 免费

📖 技能介绍


name: excel-merge description: Excel多文件智能合并工具;自动对齐表头、过滤空行、适配列数;支持并行读取/分块处理/高效写入/格式保留;当用户需要合并多个Excel、汇总表格数据或整理报表时使用 dependency: python: - pandas>=1.3.0 - openpyxl>=3.0.0


Excel 数据合并技能

任务目标

将多个具有相同或相似表头的 Excel 文件智能合并为一个文件,支持数据清洗、来源追踪和格式保留。

前置准备

  • 确认已安装依赖: pip install pandas openpyxl
  • 可选安装 xlsxwriter(提升写入性能 2-3x): pip install xlsxwriter
  • 准备待合并的 Excel 文件(.xlsx/.xls)
  • 确定输出文件路径

操作步骤

基础合并流程

  1. 识别用户提供的 Excel 文件列表或目录
  2. 验证文件存在且可读
  3. 调用合并脚本执行合并
  4. 返回合并结果与统计信息

脚本调用说明

python scripts/merge.py --files <file1.xlsx> <file2.xlsx> --output <output.xlsx>

核心参数

参数 说明 默认值
--files 待合并的 Excel 文件路径(至少1个) 必需
--output 输出文件路径 必需
--with-source 添加"来源文件"列标记数据来源 False
--sheet 指定读取的 Sheet 索引 0
--no-header 首行不作为表头 False

性能优化参数

参数 说明 适用场景
--no-parallel 禁用多进程并行读取 文件数少或内存受限
--workers N 最大并行进程数 调优 CPU 利用率
--chunksize N 分块大小(>0启用分块模式) 超大文件(>50万行)
--no-batch 禁用批量写入 小文件快速合并

格式保留参数

参数 说明 效果
--keep-format 启用格式保留模式 保留所有单元格格式

保留的格式类型

  • 字体(名称、大小、粗细、颜色、斜体)
  • 填充(背景色、渐变填充)
  • 边框样式(上下左右边框)
  • 数字格式(日期、货币、百分比等)
  • 对齐方式(水平、垂直、文本缩进)
  • 列宽和行高

模式对比

模式 性能 格式保留 适用场景
默认模式 纯数据合并
格式保留模式 完整 需要保留样式的报表

去重参数

参数 说明 默认值
--dedup 合并后去重 False(默认不去重)
--dedup-cols 按指定列去重(需配合 --dedup) None(按全部列)

去重说明

  • 不指定 --dedup-cols:按所有列的值去重,完全相同的行只保留一条
  • 指定 --dedup-cols:按指定列的值去重,保留首次出现的行

使用示例

示例1:基础合并(自动优化)

  • 场景:合并目录下所有季度报表
  • 命令:python scripts/merge.py --files q1.xlsx q2.xlsx q3.xlsx --output yearly.xlsx
  • 预期产出:合并后的 yearly.xlsx,包含所有数据行

示例2:带来源标记 + 调优并行

  • 场景:合并多部门数据,需追踪来源,文件较多
  • 命令:python scripts/merge.py --files dept_*.xlsx --output merged.xlsx --with-source --workers 4
  • 预期产出:merged.xlsx,最后一列为"来源文件"列

示例3:超大文件分块模式

  • 场景:单个超大 Excel 文件(100万行)
  • 命令:python scripts/merge.py --files big_data.xlsx --output result.xlsx --chunksize 20000
  • 预期产出:内存峰值降低 80%,避免 OOM

示例4:保留格式合并

  • 场景:合并多个格式化的报表,保持原有样式
  • 命令:python scripts/merge.py --files report_q1.xlsx report_q2.xlsx --output yearly_report.xlsx --keep-format
  • 预期产出:合并后保留字体、颜色、边框、列宽等格式

示例5:追加合并

  • 场景:已有汇总表,新增数据追加进去
  • 命令:python scripts/merge.py --files existing.xlsx new_data.xlsx --output existing.xlsx
  • 预期产出:existing.xlsx 数据行增加(追加模式)

示例6:去重合并

  • 场景:合并多文件并去除完全重复的行
  • 命令:python scripts/merge.py --files data1.xlsx data2.xlsx --output merged.xlsx --dedup
  • 预期产出:merged.xlsx,无重复行

示例7:按指定列去重

  • 场景:按姓名去重,保留首次出现的数据
  • 命令:python scripts/merge.py --files a.xlsx b.xlsx --output unique.xlsx --dedup --dedup-cols 姓名 工号
  • 预期产出:按姓名和工号组合去重后的数据

资源索引

  • 脚本: scripts/merge.py
  • 用途: Excel 文件合并命令行工具
  • 参数: 核心参数 + 优化参数 + 格式保留参数(见上方表格)

注意事项

  • 表头以第一个文件的列名为准
  • 列数不匹配时自动适配(少列补空, 多列截断)
  • 完全空白的行会被自动过滤
  • 支持 .xlsx 和 .xls 格式
  • Windows 下建议使用 --no-parallel 避免多进程问题

    发现更多技能插件,请访问7w4.net。

  • --keep-format 模式下性能略低于默认模式,建议仅在需要保留格式时使用

🤖 AI 评测

这个 Skill 质量较好,功能设计全面,支持并行处理和格式保留等实用特性。文档描述清晰易懂,示例充足,能帮助用户快速理解用法。美中不足的是缺少示例数据和测试用例,建议增加这些内容以提升开箱即用的体验。总体而言,这是一个可靠且实用的数据处理工具。

📊 多维度评分

适应性4.3
规范性4.3
有效性4.7
可靠性4.2
可信度5

📁 包含文件 (2 个)

📄 SKILL.md 5.1 KB
📄 scripts/merge.py 25 KB