Mở thư mục dự án
Chọn thư mục chứa bản xuất của chính bạn và một bản sao của nó. Các công cụ tệp hoạt động bên trong thư mục cuộc trò chuyện đó.
Làm sạch dữ liệu tự động ở đây nghĩa là một script Python áp dụng các quy tắc đã viết của bạn lên một tệp và lưu kết quả thành tệp mới. Bạn có một bản xuất với khoảng trắng thừa, dòng lặp lại và số được lưu dưới dạng văn bản. Bạn giữ script. Bạn có thể đọc và chạy lại nó, còn tệp gốc không bao giờ là đầu ra.
Chọn thư mục chứa bản xuất của chính bạn và một bản sao của nó. Các công cụ tệp hoạt động bên trong thư mục cuộc trò chuyện đó.
Nói cột nào cần cắt khoảng trắng, khóa nào dùng để tìm bản trùng và chỗ trống sẽ xử lý ra sao. Plan only liệt kê các bước trước.
Shell chạy script bằng lệnh Python của bạn và hiện mã thoát thực tế cùng số dòng được in ra.
Đọc diff, so sánh tệp mới với tệp gốc và kiểm tra ngẫu nhiên các dòng bằng tay trước khi bạn chấp nhận.
./1 tệp./clean_customers.pyđã lưuyour Python command clean_customers.pymã thoát 0./clean_customers.py17 dòngrows = [
{"email": " Ann@Mail.com ", "age": "34"},
{"email": "ann@mail.com", "age": "34"},
{"email": "Bo@Mail.com", "age": "n/a"},
]
seen, clean = set(), []
for row in rows:
email = row["email"].strip().lower()
if email in seen:
continue
seen.add(email)
try:
age = int(row["age"].strip())
except ValueError:
age = None
clean.append({"email": email, "age": age})
print("rows in:", len(rows), "rows out:", len(clean))Nó cắt khoảng trắng, đổi e-mail sang chữ thường, bỏ qua bản lặp bằng một set và chuyển văn bản tuổi thành số hoặc None. Nó chứa 3 dòng tự nghĩ ra. Chạy lên sẽ in 3 vào, 2 ra.
Để loại bỏ dòng trùng khỏi một tệp CSV lớn, trước hết bạn cần một khóa rõ ràng, ví dụ địa chỉ e-mail đã chuẩn hóa, vì các bản trùng khớp hoàn toàn sẽ bỏ sót những dòng chỉ khác nhau về khoảng trắng hoặc chữ hoa chữ thường. Fredit Flow dùng grep để tìm khoảng trắng thừa và chữ viết hoa trong cột khóa, rồi write_file lưu dedupe.py và Shell chạy nó trên bản sao của bản xuất bằng lệnh Python của chính bạn. Script giữ dòng đầu tiên cho mỗi khóa và ghi các dòng còn lại vào một tệp riêng. Tệp gốc vẫn còn. Hãy kiểm tra hai số dòng mà nó in ra, mở tệp xem xét và xác nhận mỗi cặp thật sự là cùng một khách hàng trước khi chấp nhận đầu ra.
Làm sạch dữ liệu CSV hiếm khi xong trong một lượt, và các vòng lặp giữa làm sạch và phân tích là bình thường: một biểu đồ cho thấy giá trị lạ, bạn thêm một quy tắc và chạy lại. Hãy yêu cầu thay đổi. edit_file cập nhật script và hiện diff, Shell chạy lại nó trên cùng bản sao, và lần chạy mới nên ghi vào một tệp đầu ra có tên khác để tệp đầu tiên được giữ lại, điều bạn có thể kiểm tra trong diff. Sau đó chạy nó một lần trên tệp mẫu thứ hai từ cùng nguồn. Nếu mã thoát hoặc số dòng trông sai, hãy dừng lại, đọc lại diff và tự quyết định.