=== Tuan_41_05.10-11.10_DA-LAM-SACH.xlsx | sheet Làm sạch dòng 0 (14 cột): ['Stt', 'Nhà máy', 'Mã PT/KH', 'Mã NM', 'Khách hàng', 'Ngày nhận', 'Ngày HT', 'Loại mẫu', 'SP', 'Số lượng', 'Kỹ thuật', 'Trạng thái', 'Có ĐH', 'Ghi chú'] dòng 1 (14 cột): ['1', 'MINH DƯƠNG', '', 'MD 2255', 'Cotswold', '03/10/2026', '08/10/2026', 'Mới', '', '20', 'Nguyễn Phú Vĩnh', 'DK', '', 'Mẫu đã ký'] dòng 2 (14 cột): ['', 'MINH DƯƠNG', 'White washed oak', '', 'Next', '03/10/2026', '08/10/2026', 'Mới', '', '10', 'Phạm Thanh Hoàn', 'HT', '', 'chờ kh XEM'] dòng 3 (14 cột): ['', 'MINH DƯƠNG', '', 'MD 2258', 'CDG Living', '05/10/2026', '10/10/2026', 'Mới', '', '20', 'Nguyễn Phú Vĩnh', 'HT', '', 'chờ kh XEM'] tổng dòng có dữ liệu: 184 === Tuan_41_File1_Chinh_DA-LAM-SACH.xlsx | sheet Làm sạch dòng 0 (14 cột): ['Stt', 'Nhà máy', 'Mã PT/KH', 'Mã NM', 'Khách hàng', 'Ngày nhận', 'Ngày HT', 'Loại mẫu', 'SP', 'Số lượng', 'Kỹ thuật', 'Trạng thái', 'Có ĐH', 'Ghi chú'] dòng 1 (14 cột): ['1', 'MINH DƯƠNG', '', 'MD 2255', 'Cotswold', '03/10/2026', '08/10/2026', 'Mới', '', '20', 'Nguyễn Phú Vĩnh', 'DK', '', 'Mẫu đã ký'] dòng 2 (14 cột): ['', 'MINH DƯƠNG', 'White washed oak', '', 'Next', '03/10/2026', '08/10/2026', 'Mới', '', '10', 'Phạm Thanh Hoàn', 'HT', '', 'chờ kh XEM'] dòng 3 (14 cột): ['', 'MINH DƯƠNG', '', 'MD 2258', 'CDG Living', '05/10/2026', '10/10/2026', 'Mới', '', '20', 'Nguyễn Phú Vĩnh', 'HT', '', 'chờ kh XEM'] tổng dòng có dữ liệu: 112 === Tuan_41_File2_KQM_DA-LAM-SACH.xlsx | sheet Làm sạch dòng 0 (14 cột): ['Stt', 'Nhà máy', 'Mã PT/KH', 'Mã NM', 'Khách hàng', 'Ngày nhận', 'Ngày HT', 'Loại mẫu', 'SP', 'Số lượng', 'Kỹ thuật', 'Trạng thái', 'Có ĐH', 'Ghi chú'] dòng 1 (14 cột): ['1', 'MINH HẠNH', 'Mh-268', 'MH 268', 'GINGA', '05/10/2026', '07/10/2026', 'Bộ', 'TỦ, GIƯỜNG', '2', 'Hồ Văn Việt , Trần Văn', 'HT', '', ''] dòng 2 (14 cột): ['', 'MINH HẠNH', 'Mh-370', 'MH 370', 'GINGA', '06/10/2026', '08/10/2026', 'Bộ', 'GIƯỜNG', '1', 'Hồ Văn Việt , Trần Văn', 'HT', '', ''] dòng 3 (14 cột): ['', 'MINH HẠNH', 'Mh-371mh', 'MH 371', 'GINGA', '07/10/2026', '10/10/2026', 'Bộ', 'GIƯỜNG', '2', 'Phạm Văn Dũng , Lê Đăn', 'HT', '', ''] tổng dòng có dữ liệu: 54 === Tuan_41_File3_W41_DA-LAM-SACH.xlsx | sheet Làm sạch dòng 0 (14 cột): ['Stt', 'Nhà máy', 'Mã PT/KH', 'Mã NM', 'Khách hàng', 'Ngày nhận', 'Ngày HT', 'Loại mẫu', 'SP', 'Số lượng', 'Kỹ thuật', 'Trạng thái', 'Có ĐH', 'Ghi chú'] dòng 1 (14 cột): ['', 'MINH PHÁT', '', 'MP 645 H', 'ARTICLE', '03/10/2026', '10/10/2026', 'Nhân', 'OAK', '1', 'Triệu Văn Đông', 'HT', '', 'MÀU COI ĐÈN'] dòng 2 (14 cột): ['', 'HOÀNG MINH TUẤN', '', 'FW 0946-MÀU TRẮNG', '', '03/10/2026', '07/10/2026', 'Mới', 'POPLA', '1', 'Hồ Văn Tròn Em', 'HT', '', ''] dòng 3 (14 cột): ['', 'THANH HÙNG', '', '# 8673 (ĐEN)', '', '03/10/2026', '08/10/2026', 'Mới', '', '1', 'Hồ Văn Tròn Em', 'DK', '', 'LẤY CT BG'] tổng dòng có dữ liệu: 20 === BÁO CÁO MD DO AGY VIẾT (nguyên văn) === # BÁO CÁO LÀM SẠCH DỮ LIỆU - TUẦN 41 ## Thông tin chung - **File gốc 1 (Chính)**: TUẦN 41 (05.10-11.10).xlsx (Sheet: Sheet1, Dòng 12-122) - **File gốc 2 (Khách lẻ)**: KẾT QUẢ MẪU TUẦN 41.xlsx (Sheet: KQM 41, Dòng 5-58) - **File gốc 3 (Nhật ký W41)**: W41.xlsx (Sheet: nhập, Dòng 636-654) - **File sạch đầu ra tổng hợp**: `Tuan_41_05.10-11.10_DA-LAM-SACH.xlsx` - **Các file sạch từng phần**: - `Tuan_41_File1_Chinh_DA-LAM-SACH.xlsx` - `Tuan_41_File2_KQM_DA-LAM-SACH.xlsx` - `Tuan_41_File3_W41_DA-LAM-SACH.xlsx` - **Ngày xử lý**: 12/10/2026 ## Thống kê dữ liệu gộp - **Tổng số nhà máy**: 48 - **Tổng số dòng dữ liệu**: 183 - **Tổng sản lượng sản phẩm làm mẫu**: 1394 cái - **Số lượng mẫu đã có đơn hàng**: 8 mẫu | Loại mẫu | Số lượng dòng | Trạng thái | Số lượng dòng | |----------|---------------|------------|---------------| | Mẫu Mới | 71 | Đã Ký (DK) | 23 | | Mẫu Nhân | 33 | Hoàn Thành (HT) | 139 | | Mẫu Bộ | 68 | Đang làm (ĐL) | 21 | | Không làm mẫu / Chưa rõ | 11 | Chưa rõ / Trống | 0 | ## Các thao tác đã thực hiện 1. **Làm sạch riêng biệt & gộp chuẩn hóa 3 file nguồn**: - Đọc dữ liệu từ file chính `TUẦN 41 (05.10-11.10).xlsx` (Sheet1, từ dòng 12 đến 122 bằng openpyxl read_only mode). - Đọc dữ liệu từ file khách lẻ `KẾT QUẢ MẪU TUẦN 41.xlsx` (Sheet KQM 41, từ dòng 5 đến 58, loại bỏ dòng tổng kết R47 và dòng người lập R59). - Đọc dữ liệu từ sổ theo dõi `W41.xlsx` (Sheet "nhập", các dòng từ 636 đến 654 của Tuần 41). 2. **Đánh lại số thứ tự (Stt) nhà máy liên tục & tính số nhà máy riêng biệt**: Số nhà máy riêng biệt (distinct count trên cột Nhà máy) là **48** nhà máy. 3. **Chuẩn hóa nhân sự, nhà máy và khách hàng**: - Nhân sự: Nguyễn Đức Thăng (không phải Thắng), Lê Văn Hòa (không phải Hoà), Phan Văn Việt, Võ Quốc Khởi, Chu Văn Trị, Hồ Văn Tròn Em,... - Nhà máy: Geuther, Demeyer,... - Khách hàng: Axcess (không phải Access). 4. **Phân tách cột Loại mẫu và Trạng thái**: Ánh xạ đúng các trường tương ứng từ cột ban đầu về định dạng chuẩn (DK, HT, ĐL và Mới, Nhân, Bộ). 5. **Xử lý các nhà máy không làm mẫu**: Tự động chuyển các bản ghi "KHÔNG CÓ MẪU" / "KHÔNG LÀM MẪU" sang cột Ghi chú một cách chuẩn xác.