Menu

Tự động trích xuất dữ liệu từ nhiều file Excel bằng Python: Kinh nghiệm thực tế

Hùng Hải Tín 09/03/2026 03:53 456 lượt xem 1 trả lời

Chào các anh em trong nhóm, hôm nay mình muốn chia sẻ một chút về kinh nghiệm cá nhân khi dùng Python để xử lý một lượng lớn file Excel. Dạo này công việc của mình liên quan nhiều đến việc tổng hợp dữ liệu từ các báo cáo hàng ngày, mà mỗi báo cáo lại nằm trong một file Excel riêng. Ban đầu cũng định dùng Power Query nhưng số lượng file quá lớn và cấu trúc file đôi khi có thay đổi nhỏ nên hơi vất vả.

Sau khi tìm hiểu, mình quyết định thử sức với Python và module pandas. Thực sự là một bước ngoặt lớn. Chỉ với vài dòng code đơn giản, mình đã có thể tự động duyệt qua tất cả các file trong một thư mục, trích xuất những cột dữ liệu cần thiết và ghép chúng lại thành một file duy nhất. Tiết kiệm được cả ngày làm việc!

Cách làm cơ bản của mình như sau:

  • Sử dụng module os để lấy danh sách tất cả các file Excel trong một thư mục.
  • Dùng pandas.read_excel() để đọc từng file.
  • Chọn các cột cần thiết (ví dụ: df = df[['Cột A', 'Cột B', 'Cột C']]).
  • Sử dụng pandas.concat() để nối các DataFrame lại với nhau.
  • Cuối cùng, lưu kết quả ra một file Excel mới bằng .to_excel().

Ví dụ code cho phần đọc và trích xuất:

import pandas as pd
import os

dataframes = []
folder_path = 'duong_dan_toi_thu_muc_cua_ban'

for filename in os.listdir(folder_path):
    if filename.endswith('.xlsx'):
        file_path = os.path.join(folder_path, filename)
        df = pd.read_excel(file_path)
        # Giả sử bạn chỉ cần cột 'Tên sản phẩm' và 'Doanh thu'
        if 'Tên sản phẩm' in df.columns and 'Doanh thu' in df.columns:
            data_subset = df[['Tên sản phẩm', 'Doanh thu']].copy()
            data_subset['Nguồn file'] = filename # Thêm cột để biết dữ liệu từ file nào
            dataframes.append(data_subset)

final_df = pd.concat(dataframes, ignore_index=True)
final_df.to_excel('tong_hop_doanh_thu.xlsx', index=False)
print('Đã tổng hợp xong!')

Cách này thực sự hiệu quả với những ai phải xử lý nhiều file có cấu trúc tương tự nhau. Anh em nào đã từng dùng Python cho các tác vụ tương tự hoặc có mẹo gì hay hơn thì chia sẻ thêm cho mọi người cùng học hỏi nhé!

0

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ừ hàng trăm file Excel đây. Bạn có thể chia sẻ cụ thể hơn về cách bạn xử lý trường hợp cấu trúc file có thay đổi nhỏ không? Mình loay hoay mãi mà chưa tìm ra giải pháp tối ưu.

0

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

Đăng nhập Đăng ký