Menu

Chia sẻ cách tự động hóa đổi tên hàng loạt file Excel bằng Python

Quyền Vĩnh Khải 14/06/2026 09:37 583 lượt xem 1 trả lời

Chào các bạn trong diễn đàn,

Dạo này mình thấy nhiều bài chia sẻ về tự động hóa xử lý dữ liệu Excel bằng Python, hay quá nên mình cũng muốn góp vui một chút. Hôm nay mình muốn chia sẻ với mọi người một script Python nhỏ gọn mà mình vừa viết xong, giúp tự động đổi tên hàng loạt file Excel trong một thư mục theo một quy tắc nhất định.

Tình huống của mình là có một đống file Excel báo cáo theo ngày, ví dụ BaoCao_2023-10-26.xlsx, BaoCao_2023-10-27.xlsx, v.v. Mình muốn đổi hết thành dạng BC_26-10-2023.xlsx cho gọn và dễ nhìn hơn.

Đây là đoạn code mình dùng:

import os
import re

def rename_excel_files(folder_path):
    for filename in os.listdir(folder_path):
        if filename.endswith(".xlsx"):
            old_path = os.path.join(folder_path, filename)
            # Sử dụng regex để trích xuất ngày tháng năm
            match = re.search(r"BaoCao_(\d{4})-(\d{2})-(\d{2})\.xlsx", filename)
            if match:
                year, month, day = match.groups()
                new_filename = f"BC_{day}-{month}-{year}.xlsx"
                new_path = os.path.join(folder_path, new_filename)
                os.rename(old_path, new_path)
                print(f"Đã đổi tên: {filename} -> {new_filename}")

# Thay 'duong_dan_thu_muc_cua_ban' bằng đường dẫn thực tế
folder_to_process = 'duong_dan_thu_muc_cua_ban'
rename_excel_files(folder_to_process)

Lưu ý:

  • Các bạn cần thay 'duong_dan_thu_muc_cua_ban' bằng đường dẫn đến thư mục chứa file Excel của bạn.
  • Cấu trúc regex r"BaoCao_(\d{4})-(\d{2})-(\d{2})\.xlsx" phải khớp với tên file gốc của bạn. Nếu tên file khác, bạn cần chỉnh sửa regex cho phù hợp. Ví dụ, nếu tên file là Report_26_10_2023.xlsx thì regex sẽ là r"Report_(\d{2})_(\d{2})_(\d{4})\.xlsx" và cách tạo tên mới cũng cần thay đổi.
  • Nên sao lưu dữ liệu trước khi chạy script để đảm bảo an toàn.

Script này rất hữu ích cho những ai thường xuyên phải làm việc với nhiều file Excel có tên gọi tương tự nhau. Hy vọng nó sẽ giúp ích cho công việc của mọi người!

Có bạn nào có cách nào hay hơn hoặc muốn tùy chỉnh thêm tính năng gì không, cùng thảo luận nhé!

0

Hay quá bạn ơi! Mình cũng đang tìm hiểu về Python để tự động hóa mấy vụ Excel này.

Cái script bạn viết nhìn gọn gàng thật. Bạn có thể chia sẻ chi tiết hơn về cách bạn lấy ngày tháng từ tên file gốc và định dạng lại theo ý muốn không? Mình đang gặp khó khăn ở phần xử lý chuỗi tên file này.

Cảm ơn bạn đã chia sẻ nhé!

2

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký