Automated Data Pipeline

Day 16
郵件數據解構
SQL 自動化轉化

解析「 Email 資料擷取工具」
Regex 提取 x SQL 自動產出

課程大綱

  • 痛點分析:日常維運中的資料搬運困境
  • 核心工具:「郵件」擷取工具操作指南
  • 技術解密:Regular Expression (Regex) 的關鍵應用
  • 轉化魔法:自動生成 INSERT SQL 語法
  • 效益與展望:從手動到自動的價值提升

為什麼我們需要自動化?

面對每日海量的通知郵件,純人工作業面臨三大挑戰:

耗時費力

反覆的複製貼上,佔用人員處理高價值業務的寶貴時間。

人為錯誤

眼花撩亂的數據,容易發生漏字、錯行或欄位錯置的風險。

斷鏈危機

郵件文字無法直接進入資料庫,缺乏標準化的介接橋樑。

解決方案:資料管線自動化

透過自製的巨集工具,搭建從 非結構化郵件結構化資料庫 的橋樑。

Email 內文 擷取工具 (.xlsm) SQL 指令

核心工具介紹

郵件 Email 資料擷取工具

  • 載體:Excel 巨集活頁簿 (.xlsm)
  • 定位:第一線人員的輕量級自動化武器
  • 優勢:無須安裝額外軟體,隨開即用,高度相容現有辦公環境。

標準操作三部曲

只需三個簡單動作,即可完成繁瑣的資料轉換作業:

1

開啟附檔 Email資料擷取工具.xlsm

2

點選「重設貼上區」後,貼上 Email 內容

3

點選「開始讀取資料」,產生對應 SQL

Step 1 啟動環境

開啟 Email資料擷取工具.xlsm

注意事項:

  • 請確保 Excel 已啟用巨集功能。
  • 建議將檔案放置於信任的位置,避免每次開啟被安全性警告阻擋。
  • 保持檔案的原始結構,勿隨意刪改隱藏工作表。

Step 2 資料初始化與匯入

清理舊數據,匯入新資料

點選「重設貼上區」

清除上次操作遺留的資料,避免新舊資料混雜導致 SQL 生成錯誤。此步驟是確保資料純淨度的關鍵防呆機制。

貼上 Email 內容

全選 郵件內文並複製,回到 Excel 中,使用符合目的格式設定貼上 (保留純文字尤佳)。

Step 3 一鍵讀取與產出

執行巨集指令:點選「開始讀取資料

> 正在掃描貼上區...
> 啟動 Regex 引擎比對特徵...
> 成功擷取關鍵欄位:[日期, 標的, 事件, 數值]
> 正在組裝 SQL 語句...
> 作業完成!SQL 已產出至指定儲存格。

技術核心解密

為什麼系統看得懂雜亂的信件?全靠 Regex (正規表示式)

  • 定義:一種強大的文字樣式比對語言。
  • 作用:能在非結構化的長篇文本中,精準定位並提取我們需要的特定格式資訊(如:統一編號、特定格式的日期、金額等)。
  • VBA 實作:透過建立 VBScript.RegExp 物件來驅動。

實戰解析:提取欄位

假設郵件內容包含:
【 通知】日期:2023-10-25,代號:2330,事件:發布財報


' VBA Regex 擷取代號範例
Dim regEx As Object, matches As Object
Set regEx = CreateObject("VBScript.RegExp")

' 設定比對模式:尋找「代號:」後面的數字
regEx.Pattern = "代號:(\d+)"
regEx.Global = True

Set matches = regEx.Execute(emailContent)
If matches.Count > 0 Then
    extractedCode = matches(0).SubMatches(0) ' 取得 2330
End If
                

轉化魔法:生成 SQL

將擷取到的變數 (Variables),動態組裝成標準的資料庫指令。

擷取到的變數:

vDate = '2023-10-25', vCode = '2330', vEvent = '發布財報'


-- VBA 自動生成的結果字串
INSERT INTO _watchdog_log 
(notify_date, stock_code, event_type) 
VALUES 
('2023-10-25', '2330', '發布財報');
                

策略選擇:為何是 Excel?

快速部署

無需繁瑣的系統建置與權限申請,發送檔案即可上線作業。

學習門檻低

基於同仁熟悉的 Excel 介面,降低對新系統的抗拒感。

過程可視化

轉換結果直接呈現於儲存格,產出 SQL 前可做最後人工覆核。

導入效益分析 (ROI)

  • 時效性躍升:單筆郵件處理時間從 3 分鐘縮短至 5 秒鐘
  • 正確率 100%:消滅人為打字錯誤,確保進庫資料的高品質。
  • 標準化流程:無論是資深或資淺人員,操作結果一致,利於業務傳承與交接。

未來展望:邁向全自動化

雖然目前的 .xlsm 工具已解決痛點,但下一步可以更進階:

RPA (機器人流程自動化) 整合

未來可將此 Regex 邏輯移植到後端 (如 Python) 或 RPA 腳本中,實現「信件一收到 自動解析 自動寫入 DB」的零人工介入境界。

Q & A

感謝您的聆聽

開始在您的日常作業中,尋找自動化的可能性吧!