Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Tự động hóa việc trích xuất dữ liệu từ nhiều file Excel bằng Python và Pandas

Tưởng Nhân Linh 20/03/2026 21:30 241 lượt xem 2 trả lời

Chào các anh em trong diễn đàn,

Dạo này mình có làm việc với một lượng lớn file Excel, mỗi file chứa dữ liệu bán hàng của một chi nhánh. Sếp giao cho mình tổng hợp lại doanh thu toàn công ty hàng tháng. Ban đầu mình định dùng Power Query nhưng file có cấu trúc hơi khác nhau ở một vài cột nên cũng hơi lằng nhằng. Sau đó, mình nghĩ ngay đến Python và thư viện Pandas, quả thực là giải pháp tuyệt vời!

Mình viết một đoạn script nhỏ để tự động đọc tất cả các file Excel trong một thư mục, sau đó trích xuất cột 'Doanh thu' và 'Ngày bán' rồi gom vào một DataFrame duy nhất. Cuối cùng là lưu lại thành một file Excel tổng hợp.

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

import pandas as pd
import os

folder_path = 'duong/dan/den/thu/muc/excel'
output_file = 'tong_hop_doanh_thu.xlsx'

all_data = 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 cần trích xuất là 'Doanh thu' và 'Ngày bán'
            # Bạn cần điều chỉnh tên cột cho phù hợp với file của mình
            if 'Doanh thu' in df.columns and 'Ngày bán' in df.columns:
                data_to_add = df[['Doanh thu', 'Ngày bán']]
                all_data = pd.concat([all_data, data_to_add], ignore_index=True)
            else:
                print(f"Cảnh báo: File {filename} không có đủ cột cần thiết.")
        except Exception as e:
            print(f"Lỗi khi đọc file {filename}: {e}")

if not all_data.empty:
    all_data.to_excel(output_file, index=False)
    print(f"Đã tổng hợp dữ liệu vào file: {output_file}")
else:
    print("Không có dữ liệu nào được tổng hợp.")

Cách này giúp mình tiết kiệm được rất nhiều thời gian và tránh sai sót so với làm thủ công. Các bạn nào đang gặp vấn đề tương tự thì thử áp dụng xem sao nhé!

Có ai có kinh nghiệm hay script hay ho hơn thì chia sẻ cho mọi người cùng học hỏi ạ!

1

Tuyệt vời! Cảm ơn bạn đã chia sẻ kinh nghiệm quý báu này. Mình cũng đang tìm giải pháp tương tự để xử lý đống file báo cáo hàng tuần. Việc đọc nhiều file và tổng hợp bằng tay tốn rất nhiều thời gian.

Bạn có thể cho mình biết thêm về cách bạn xử lý những trường hợp file có cấu trúc khác nhau được không? Hiện tại mình mới chỉ dừng ở việc các file có cấu trúc giống hệt nhau thôi.

1

Hay quá bạn ơi! Mình cũng đang vật lộn với việc tổng hợp dữ liệu từ nhiều file đây. Bạn có thể chia sẻ thêm về cách bạn xử lý trường hợp cấu trúc file khác nhau đó không? Mình dùng Pandas thì hay gặp khó khăn ở chỗ này.

0

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

Đăng nhập Đăng ký