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:保留格式合併

小蔥技能有更好的技能skills外掛。

  • 場景:合併多個格式化的報表,保持原有樣式
  • 命令: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 避免多程序問題
  • --keep-format 模式下效能略低於預設模式,建議僅在需要保留格式時使用

🤖 AI 評測

這個 Skill 質量較好,功能設計全面,支援並行處理和格式保留等實用特性。文件描述清晰易懂,示例充足,能幫助使用者快速理解用法。美中不足的是缺少示例資料和測試用例,建議增加這些內容以提升開箱即用的體驗。總體而言,這是一個可靠且實用的資料處理工具。

📊 多維度評分

適應性4.3
規範性4.3
有效性4.7
可靠性4.2
可信度5

📁 包含檔案 (2 個)

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