WORKS | 作品
生產日報自動彙整:機台匯出的 CSV,變成一份看得懂的 Excel
把每台機台匯出的 CSV 合併成一份 Excel 日報:各機台良率與稼動率、早夜班比較、停機原因排行、異常清單。支援 Big5 編碼與髒資料,良率未達標自動標紅。
- STACK / 技術
- Python · openpyxl
- LINK / 連結
- 原始碼(GitHub) →

驗證狀態:以範例資料與 9 項自動測試驗證;範例資料是模擬的三台機台、一天兩班,不是客戶資料。
很多工廠的日報是這樣做出來的:每天早上,有人把每台機台匯出的檔案一個一個打開,複製貼上到同一份 Excel,再算良率、找停機原因。一台機台幾分鐘,十台就是一個早上。更麻煩的是,資料有錯也很難發現。
這個示範把這件事變成一個指令。
輸出的日報長這樣
| 分頁 | 內容 |
|---|---|
| 總覽 | 每台機台的投入、良品、不良、良率、停機、稼動率;良率未達標自動標紅 |
| 班別 | 每台機台的早班與夜班分開看,夜班跨午夜也算對 |
| 停機原因 | 依累計停機分鐘排序,一眼看出今天最該處理的問題 |
| 異常清單 | 良率過低、停機過長、停機沒填原因、良品+不良對不上投入數 |
| 原始資料 | 合併後的全部紀錄,有疑問可以回查 |
處理真實資料會遇到的問題
我在產線設備做了很多年,機台匯出的資料很少是乾淨的。這個程式先把這些情況處理好:
- 編碼不一:有的機台匯出 UTF-8,有的是 Big5,不用先手動轉檔。
- 欄位名稱不統一:「投入數」「投入」「Input」都認得,順序也不限。
- 髒資料不會讓程式中斷:空白列略過,看不懂的列記進異常清單,其他資料照常彙整。
- 夜班跨日:20:00 到隔天 08:00 的夜班,算在開始那天,不會被拆成兩天。
- 數字對帳:良品加不良不等於投入的資料列會被抓出來,這種錯誤最容易藏在報表裡。
可以直接導入
上面的原始碼是精簡的示範版。實際導入用的是產品化版本:
- 一個設定檔管資料夾、班別時間、良率與停機標準、你們機台的欄位名稱
- Windows 雙擊執行,可做成免安裝 Python 的 exe
- 不填日期就產生昨天的日報,搭配 Windows 工作排程器每天早上自動跑
- 附使用手冊、範例資料、執行紀錄檔
可以延伸成
- 每天固定時間自動跑,報表寄到信箱或推到 LINE 群組
- 直接讀機台的資料庫或共享資料夾,連匯出都不用
- 週報、月報與良率趨勢圖
如果你的日報也是每天手動貼出來的,把一兩個機台的匯出檔給我看,通常就能估出要多久、要多少錢。服務說明在工廠 Excel 報表自動化。