将多个具有相同或相似表头的 Excel 文件智能合并为一个文件,支持数据清洗、来源追踪和格式保留。
pip install pandas openpyxlpip install xlsxwriter7w4.net小葱技能。
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:按指定列的值去重,保留首次出现的行python scripts/merge.py --files q1.xlsx q2.xlsx q3.xlsx --output yearly.xlsxpython scripts/merge.py --files dept_*.xlsx --output merged.xlsx --with-source --workers 4python scripts/merge.py --files big_data.xlsx --output result.xlsx --chunksize 20000python scripts/merge.py --files report_q1.xlsx report_q2.xlsx --output yearly_report.xlsx --keep-formatpython scripts/merge.py --files existing.xlsx new_data.xlsx --output existing.xlsxpython scripts/merge.py --files data1.xlsx data2.xlsx --output merged.xlsx --deduppython scripts/merge.py --files a.xlsx b.xlsx --output unique.xlsx --dedup --dedup-cols 姓名 工号--no-parallel 避免多进程问题--keep-format 模式下性能略低于默认模式,建议仅在需要保留格式时使用这个 Skill 质量较好,功能设计全面,支持并行处理和格式保留等实用特性。文档描述清晰易懂,示例充足,能帮助用户快速理解用法。美中不足的是缺少示例数据和测试用例,建议增加这些内容以提升开箱即用的体验。总体而言,这是一个可靠且实用的数据处理工具。