Khi dữ liệu sạch không còn phụ thuộc vào việc “soi Excel bằng mắt”

🎯 1. MỤC TIÊU BÀI HỌC
Sau bài này, bạn sẽ:
- Hiểu vì sao Excel rất dễ phát sinh dữ liệu sai
- Biết cách dùng Python để kiểm tra (validate) dữ liệu Excel
- Tự động:
- Phát hiện dữ liệu lỗi
- Chuẩn hóa dữ liệu
- Chỉnh sửa dữ liệu sai theo quy tắc
- Tạo được file Excel đã được làm sạch, sẵn sàng cho:
- Báo cáo
- Power BI
- Automation
⚠️ 2. BỐI CẢNH & VẤN ĐỀ THỰC TẾ TRONG DOANH NGHIỆP
Hầu hết dữ liệu Excel trong doanh nghiệp đều có các vấn đề sau:
- Ngày tháng nhập sai định dạng
- Cột số chứa text
- Ô trống không được kiểm soát
- Giá trị âm ở nơi không được phép âm
- Dữ liệu từ nhiều nguồn → mỗi người nhập một kiểu
👉 Nếu kiểm tra bằng tay:
- Rất chậm
- Rất dễ sót
- Không thể lặp lại chính xác
➡️ Python sinh ra để làm việc này tốt hơn con người.
🧠 3. TƯ DUY ĐÚNG: PYTHON = NGƯỜI KIỂM TRA DỮ LIỆU KHÔNG BIẾT MỆT
Excel là nơi chứa dữ liệu
Python là người kiểm tra & chỉnh sửa dữ liệu theo luật
Python giúp bạn:
- Kiểm tra 100% dòng dữ liệu
- Áp cùng một quy tắc cho mọi file
- Lặp lại quy trình mỗi ngày / mỗi tháng
👉 Không còn “hy vọng dữ liệu đúng”.
🧪 4. DỮ LIỆU MẪU THỰC TẾ (≥ 15 DÒNG)
Ví dụ: Bảng dữ liệu nhân sự (employee_raw.xlsx)
| emp_id | emp_name | department | join_date | salary | |
|---|---|---|---|---|---|
| E001 | An | Sales | 01/02/2024 | 15000000 | an@cty.com |
| E002 | Bình | Sales | 2024-02-15 | 14000000 | binh@cty |
| E003 | Chi | HR | 15-03-2024 | 0 | chi@cty.com |
| E004 | Dũng | IT | 2024/04/01 | 20000000 | dung@cty.com |
| E005 | Hạnh | HR | 2024-04-10 | -5000000 | hanh@cty.com |
| E006 | Khoa | IT | 10-04-2024 | 18000000 | khoa@cty.com |
| E007 | Lan | Sales | 2024-04-15 | 16000000 | lan@cty.com |
| E008 | Minh | HR | 2024-04-20 | 15500000 | minh@cty |
| E009 | Nam | IT | 2024-04-25 | 17000000 | nam@cty.com |
| E010 | Oanh | Sales | 25/04/2024 | 16500000 | oanh@cty.com |
| E011 | Phúc | HR | 2024-05-01 | 0 | phuc@cty.com |
| E012 | Quân | IT | 2024-05-05 | 19000000 | quan@cty.com |
| E013 | Trang | Sales | 2024-05-10 | 15500000 | trang@cty |
| E014 | Vân | HR | 2024-05-15 | 15000000 | van@cty.com |
| E015 | Yến | IT | 15-05-2024 | 18500000 | yen@cty.com |
🛠️ 5. NỘI DUNG CHÍNH – HƯỚNG DẪN STEP BY STEP
🔹 STEP 1: Đọc dữ liệu Excel bằng Python
import pandas as pd
df = pd.read_excel("employee_raw.xlsx")
👉 Python đọc toàn bộ bảng dữ liệu chỉ trong 1 dòng lệnh.
🔹 STEP 2: Kiểm tra dữ liệu thiếu (NULL / trống)
missing_check = df.isnull().sum()
print(missing_check)
👉 Biết chính xác:
- Cột nào thiếu
- Thiếu bao nhiêu dòng
🔹 STEP 3: Chuẩn hóa ngày tháng
df["join_date"] = pd.to_datetime(df["join_date"], errors="coerce")
👉 Dòng nào sai định dạng:
- Python tự phát hiện
- Trả về giá trị
NaT
🔹 STEP 4: Kiểm tra & chỉnh sửa dữ liệu số sai
Ví dụ: Lương không được ≤ 0
df.loc[df["salary"] <= 0, "salary"] = None
👉 Thay vì để sai:
- Đánh dấu để xử lý tiếp
- Hoặc gửi cảnh báo
🔹 STEP 5: Kiểm tra email không hợp lệ
df["email_valid"] = df["email"].str.contains("@")
👉 Phát hiện:
- Email thiếu
@ - Email nhập sai định dạng
🔹 STEP 6: Xuất lại Excel đã được làm sạch
df.to_excel("employee_cleaned.xlsx", index=False)
👉 File mới:
- Dữ liệu sạch
- Có thể dùng ngay cho báo cáo & Power BI
📊 6. PHÂN TÍCH KẾT QUẢ & GIÁ TRỊ MANG LẠI
| Kiểm tra thủ công | Kiểm tra bằng Python |
|---|---|
| Mất thời gian | Chạy trong vài giây |
| Dễ sót lỗi | Kiểm tra 100% |
| Không lặp lại chuẩn | Lặp lại chính xác |
| Phụ thuộc người | Hệ thống hóa |
🧾 7. KẾT LUẬN & ĐÁNH GIÁ (BẮT BUỘC)
- Dữ liệu bẩn không phải lỗi con người
- Mà là do thiếu hệ thống kiểm soát
- Python giúp:
- Kiểm tra
- Chuẩn hóa
- Chỉnh sửa dữ liệu theo luật
👉 Dữ liệu sạch không nên phụ thuộc vào việc “soi Excel”.
🚀 8. GỢI Ý ÁP DỤNG THỰC TẾ
👥 Nhân sự
- Kiểm tra dữ liệu nhân viên
- Chuẩn hóa ngày vào làm
- Phát hiện dữ liệu thiếu / sai
💰 Kế toán
- Kiểm tra số âm bất thường
- Chuẩn hóa dữ liệu trước báo cáo
- Giảm rủi ro sai số
📦 Quản lý kho
- Kiểm tra tồn kho âm
- Chuẩn hóa dữ liệu nhập – xuất
- Cảnh báo dữ liệu bất thường
🧠 Quản lý / Chủ doanh nghiệp
- Tin tưởng dữ liệu hơn
- Giảm phụ thuộc con người
- Ra quyết định trên dữ liệu sạch