Chào mọi người,
Dạo gần đây mình có công việc cần xử lý một lượng lớn file Excel, mà mỗi file lại có cấu trúc hơi khác nhau một chút. Việc mở từng file ra xem rồi phân loại thủ công tốn khá nhiều thời gian và dễ sai sót. Mình đã thử tìm cách tự động hóa việc này và phát hiện ra một giải pháp khá hay dùng Python, muốn chia sẻ lại cho anh em trong diễn đàn.
Ý tưởng là mình sẽ viết một script Python để nó tự động quét một thư mục, đọc tên file hoặc một vài ô dữ liệu trong file để xác định loại file, sau đó di chuyển nó vào các thư mục con tương ứng (ví dụ: file báo cáo tháng 1, file dữ liệu khách hàng, file tạm...).
Cách thực hiện cơ bản:
- Sử dụng thư viện
osđể duyệt thư mục và lấy danh sách file. - Sử dụng thư viện
pandasđể đọc dữ liệu từ file Excel (nếu cần kiểm tra nội dung). - Viết các câu lệnh điều kiện (if-elif-else) để phân loại file dựa trên tên hoặc nội dung.
- Sử dụng
shutilđể di chuyển file.
Ví dụ đơn giản để đọc tên file và di chuyển:
import os
import shutil
source_folder = "/path/to/your/files"
destination_folder_report = "/path/to/reports"
destination_folder_data = "/path/to/data"
for filename in os.listdir(source_folder):
if filename.endswith(".xlsx"):
if "report" in filename.lower():
shutil.move(os.path.join(source_folder, filename), os.path.join(destination_folder_report, filename))
print(f"Moved report: {filename}")
elif "data" in filename.lower():
shutil.move(os.path.join(source_folder, filename), os.path.join(destination_folder_data, filename))
print(f"Moved data file: {filename}")
Nếu cần kiểm tra nội dung, bạn có thể đọc file Excel bằng pandas và kiểm tra giá trị trong một ô cụ thể. Script này thực sự hữu ích khi bạn có hàng trăm, thậm chí hàng nghìn file cần phân loại. Nó giúp tiết kiệm rất nhiều thời gian và giảm thiểu sai sót.
Anh em nào đã từng làm qua hoặc có cách nào hay hơn thì chia sẻ thêm nhé!