背景與動機
許多智慧手環與連網裝置宣稱支援資料匯出,但下載後往往是一堆未解密代碼、缺少欄位說明且時區混亂的龐大 JSON 檔案。挑選一種具公開規格的個人穿戴裝置資料格式,使用 Python 與 Streamlit 開發一套開源本機解析工具,自動完成時區轉換、欄位完整度體檢與健康數據視覺化。
為什麼是現在
隨著歐盟《資料法(Data Act)》推動使用者對連網設備資料的完全掌控權,「資料可攜性(Data Portability)」與「數位主權(Digital Sovereignty)」成為軟體工程與隱私治理的前沿議題。本專案將後端資料解析升級為「開源資料產品實務」,帶你掌握非結構化資料清洗、資料字典建置與 Streamlit 互動儀表板開發,產出兼具工程架構與公眾價值的作品集。
目標
針對穿戴裝置匯出格式(如心率、步數或睡眠 JSON/CSV),運用 Python + Streamlit 打造一套本機開源資料閱讀器,內建欄位完整度評估與時序視覺化功能,並通過 3 組極限測試檔(正常、缺欄、畸形格式)的自動化驗證。
成果產出
成果 01裝置資料解析與欄位對齊字典(含 UNIX 時間戳轉換、單位定義與缺失標記)資料工程規格書
成果 02Streamlit 本機互動資料閱讀器(支援檔案拖拉上傳、資料體檢儀表板與 CSV 轉存)開源應用原型
執行期程
- 第 1 週選定 1 種常見穿戴裝置匯出格式(如 Google Takeout Fit 或運動手錶 GPX/JSON 公開規格),梳理資料結構(時間戳、心率陣列、活動分類代碼),撰寫標準化資料字典(Data Dictionary)並建立 Git 倉庫。完成標準確認目標資料格式、欄位定義字典與 Python 虛擬環境設置。佐證資料資料字典 Markdown、格式規格出處與 Git 初始專案架構。
- 第 2 週運用 Python 撰寫核心資料清洗引擎:解析巢狀 JSON/CSV、自動將 UNIX 時間戳校正為本地時區、標準化活動指標單位;設計 3 組去識別化合成測試檔(標準檔案、缺漏關鍵欄位檔、含異常值畸形檔)。完成標準完成解析核心模組編寫,3 組合成測試檔皆能產出預期解析或容錯回報。佐證資料Python 解析腳本、3 組合成資料檔與邊界測試通過截圖。
- 第 3 週引入 Streamlit 搭建互動式 Web 介面:實作拖拉檔案上傳、資料可攜性「健康度評分卡」(欄位完整率 %、遺失指標警告),並透過 Plotly 繪製 2 款動態時序趨勢圖(如每日步數長條圖、心率分佈折線圖)。完成標準完成 Streamlit Web 介面整合,支援上傳即時預覽與圖表互動。佐證資料Streamlit 本機運行錄影(GIF)、介面截圖與前端元件代碼。
- 第 4 週加入一鍵「清洗後整齊 CSV 匯出」功能,撰寫操作手冊、無法支援的格式邊界與《歐盟資料法》可攜性反思,將成果發布至 GitHub。完成標準完成專案完整重跑測試、README 開發文檔撰寫與技術複盤報告。佐證資料GitHub 倉庫連結(含完整代碼與操作 DEMO GIF)、專案技術報告。
需要的佐證資料
- 穿戴裝置資料字典與欄位對齊規範書。
- Python 核心解析與例外處理代碼模組。
- 3 組極限情境合成資料集與測試驗證紀錄。
- Streamlit 互動介面運行錄影與 GitHub 開源專案成果。
核心實作技能
資料清理資料視覺化原型製作Python
建議具備的基礎技能
Python 基礎(字典/串列操作、Pandas 資料處理、JSON 模組)終端機基本指令與 Git 基本操作
特別適合這樣的你
對資料工程(Data Engineering)、隱私科技(Privacy Tech)、開源工具開發、Python Web 原型(Streamlit)感興趣的自學者與工程師。
建議規模與分工
AI 草擬 · 已人工審閱建議人數個人或 2–3 人每人每週投入6 小時
1 人獨立完成能全盤鍛鍊資料處理與 Web 原型全流程;若 2 人協作,一人可負責後端資料清洗演算法與測試檔生成,另一人負責 Streamlit 前端儀表板與視覺化圖表建置。
| 成員 | 角色 | 負責的事 |
|---|---|---|
| A | 資料處理與解析工程師 | 負責格式規格分析、資料字典定義、Python 解析核心撰寫、異常值容錯與測試資料集生成。 |
| B | Web 原型與視覺化開發選填 | 負責 Streamlit 介面搭建、檔案上傳動線優化、Plotly 圖表串接與 GitHub 文檔維護。 |
人數與分工可於建立時調整
執行條件
地區與建議使用語言
- 地區
- 通用議題
- 主要建議語言
- 繁體中文
- 其他建議語言
- 語言使用說明
- 以繁體中文撰寫說明手冊;代碼註解、函式與變數命名遵循 PEP 8 英文規範。
建議語言非參與條件
- 語言與資料獲取
- 官方公開之格式規格文件(如 Google Takeout 說明文件、FIT/GPX 開源規範),全數使用合成脫敏資料。
- 實施邊界
- 為本機資料解析與視覺化原型展示,不涉及逆向工程破解加密裝置,亦不代表對特定硬體品牌做出法律合規指控。
- 場域/資料權限
- 本機開發環境(VS Code / Python 3.10+)。
- 預估費用
- 約 NT$ 0(使用開源工具與既有電腦設備)
- 工具設備
- Python 3、Pandas、Streamlit、Plotly、VS Code、Git / GitHub。
不在範圍內
- 不處理或儲存任何真實使用者的個人健康與 GPS 定位個資
- 不破解任何具備商業加密或 DRM 保護之專利通訊協定
- 不保證跨品牌雲端服務即時 API 雙向無縫同步
參考資料
- European Commission,Data Act,https://digital-strategy.ec.europa.eu/en/policies/data-act
- Streamlit,Streamlit documentation,https://docs.streamlit.io/
準備好開始了嗎?目標、範圍、期程、分工都可以在下一步進行調整
從這個靈感開始