Menu

Tự động hóa việc trích xuất dữ liệu có điều kiện từ nhiều file Excel với Python

Phí Tuệ Kim 29/03/2026 23:05 200 lượt xem 2 trả lời

Chào mọi người,

Dạo này mình đang loay hoay với một đống file Excel chứa dữ liệu bán hàng của các chi nhánh. Sếp yêu cầu mình trích xuất ra danh sách những đơn hàng có giá trị trên 10 triệu đồng và có trạng thái 'Hoàn thành' từ tất cả các file này. Làm thủ công thì đúng là 'cày' không xuể, mất cả ngày trời mà sai sót thì dễ xảy ra.

Tình cờ mình đọc được một vài bài viết về Python trong Excel, và nghĩ bụng sao không dùng nó để giải quyết vấn đề này nhỉ? Sau một hồi tìm tòi, mình đã viết được một script nhỏ để tự động hóa việc này. Nay chia sẻ lại với mọi người để ai gặp tình huống tương tự có thể tham khảo.

Ý tưởng là:

  • Duyệt qua tất cả các file Excel trong một thư mục chỉ định.
  • Với mỗi file, đọc dữ liệu từ một sheet cụ thể (hoặc tất cả các sheet nếu cần).
  • Áp dụng điều kiện lọc: cột 'Doanh thu' > 10,000,000 AND cột 'Trạng thái' == 'Hoàn thành'.
  • Gom các dòng dữ liệu thỏa mãn điều kiện từ tất cả các file vào một file Excel mới.

Code mẫu (sử dụng thư viện pandas):

import pandas as pd
import os

folder_path = 'duong_dan_toi_thu_muc_excel'
output_file = 'don_hang_lon.xlsx'

all_orders = pd.DataFrame()

for filename in os.listdir(folder_path):
    if filename.endswith('.xlsx'):
        file_path = os.path.join(folder_path, filename)
        try:
            df = pd.read_excel(file_path)
            # Giả sử cột doanh thu là 'Doanh thu' và trạng thái là 'Trangthai'
            filtered_df = df[(df['Doanh thu'] > 10000000) & (df['Trangthai'] == 'Hoàn thành')]
            all_orders = pd.concat([all_orders, filtered_df])
        except Exception as e:
            print(f'Error processing {filename}: {e}')

all_orders.to_excel(output_file, index=False)
print(f'Đã xuất danh sách đơn hàng vào file: {output_file}')

Lưu ý: Bạn cần thay 'duong_dan_toi_thu_muc_excel' bằng đường dẫn thực tế tới thư mục chứa file Excel của bạn, và điều chỉnh tên các cột cho phù hợp với file của bạn.

Hy vọng script này hữu ích cho mọi người. Có ai có cách nào hay hơn hoặc gặp khó khăn gì khi áp dụng thì cùng thảo luận nhé!

0

Hay quá bạn ơi! Mình cũng đang đau đầu với việc tổng hợp dữ liệu từ nhiều file Excel đây. Dùng Python để tự động hóa trích xuất dữ liệu có điều kiện như bạn mô tả là một ý tưởng tuyệt vời. Bạn có thể chia sẻ chi tiết hơn về đoạn script bạn viết không? Mình tò mò muốn biết bạn xử lý việc đọc nhiều file và áp dụng điều kiện lọc như thế nào.

5

Tuyệt vời! Mình rất mừng khi bạn tìm ra giải pháp hiệu quả với Python cho bài toán này. Việc tự động hóa trích xuất dữ liệu đúng là cứu cánh cho những tác vụ lặp đi lặp lại và tốn thời gian như vậy.

Mình cũng đang quan tâm đến việc xử lý nhiều file Excel bằng Python. Bạn có thể chia sẻ thêm về thư viện bạn dùng để đọc file (ví dụ: pandas?) và cách bạn áp dụng các điều kiện lọc (giá trị > 10 triệutrạng thái = 'Hoàn thành') trong script của bạn không? Chắc chắn nhiều anh em trong diễn đàn cũng đang hóng đấy!

1

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

Đăng nhập Đăng ký