moea_joint_essay
112年
[資訊] 資訊管理、程式設計
第 六 題
隨著資訊技術的進步,資料的重要性與日俱增,如何善用資料強化競爭力,已是企業刻不容緩的經營議題。現在請您扮演資料科學家的角色,就以下需求設計 1個程式,將檔案 data.txt讀取數據後,執行資料清理,最後將整理好的資料寫入資料庫中:(20 分)
A. 檔案 data.txt 中包含未清理的數據資料,每 1行代表 1條記錄。每條記錄包含多個字段,字段之間使用逗號進行分隔。每條記錄的字段數可能不同,但都包含以下字段:
> 使用者號碼 (User ID)
> 姓名 (Name)
> 年齡 (Age)
> 地址 (Address)
> 電子郵件地址 (Email)
> 手機號碼 (Phone)
B. 資料清理包括以下項目:
> 刪除任何缺失字段的記錄
> 清除姓名和地址字段中任何不必要的空格
> 將所有電子郵件地址轉換為小寫
> 驗證使用者號碼,確保它是 1 個 8 位數字
> 驗證年齡字段,確保它是 1 個合法的正整數
> 驗證手機號碼,確保它是 1 個 10 位數且為 09 開頭
C. 最後,使用任何您常用的資料庫系統(例如 SQLite、MySQL、PostgreSQL 等),將整理好的資料寫入資料庫,並於首次寫入時先建立 1 個名為 user_data 的資料表。
A. 檔案 data.txt 中包含未清理的數據資料,每 1行代表 1條記錄。每條記錄包含多個字段,字段之間使用逗號進行分隔。每條記錄的字段數可能不同,但都包含以下字段:
> 使用者號碼 (User ID)
> 姓名 (Name)
> 年齡 (Age)
> 地址 (Address)
> 電子郵件地址 (Email)
> 手機號碼 (Phone)
B. 資料清理包括以下項目:
> 刪除任何缺失字段的記錄
> 清除姓名和地址字段中任何不必要的空格
> 將所有電子郵件地址轉換為小寫
> 驗證使用者號碼,確保它是 1 個 8 位數字
> 驗證年齡字段,確保它是 1 個合法的正整數
> 驗證手機號碼,確保它是 1 個 10 位數且為 09 開頭
C. 最後,使用任何您常用的資料庫系統(例如 SQLite、MySQL、PostgreSQL 等),將整理好的資料寫入資料庫,並於首次寫入時先建立 1 個名為 user_data 的資料表。
📝 此題為申論題
思路引導 VIP
此為實作題,需撰寫完整程式。建議使用 Python 搭配內建的 sqlite3 及 re (正規表達式) 模組。步驟:1. 連線 SQLite 並建立資料表。 2. 開啟 data.txt 逐行讀取。 3. 以逗號分割並檢查欄位數 (缺失字段剔除)。 4. 依照規則清理變數 (strip, lower) 與正則驗證。 5. 驗證通過者寫入資料庫。
🤖
AI 詳解
AI 專屬家教
以下使用 Python 程式語言搭配內建的 sqlite3 資料庫系統與正規表達式 (re 模組) 進行實作:
import sqlite3
▼ 還有更多解析內容