Menu

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

Thái Khánh Thương 13/06/2026 22:11 249 lượt xem 3 trả lời

Chào các bạn, dạo này mình đang mày mò dùng Python để xử lý dữ liệu Excel và thấy nó mạnh mẽ thật. Hôm nay mình muốn chia sẻ một chút về cách tự động hóa việc trích xuất dữ liệu từ nhiều file Excel khác nhau về một file duy nhất, rất hữu ích khi các bạn phải làm báo cáo tổng hợp.

Trước đây, mỗi lần nhận file từ các phòng ban khác nhau là y như rằng phải copy-paste thủ công hoặc dùng các hàm phức tạp. Giờ có Python, mọi thứ đơn giản hơn nhiều.

Mình thường dùng thư viện Pandas để làm việc này. Các bước cơ bản như sau:

  • Tìm tất cả các file Excel trong một thư mục chỉ định.
  • Đọc từng file Excel đó.
  • Trích xuất các cột dữ liệu cần thiết.
  • Ghép các dữ liệu lại với nhau thành một DataFrame lớn.
  • Lưu kết quả ra một file Excel mới.

Ví dụ code đơn giản để đọc tất cả file .xlsx trong thư mục data/ và ghép chúng lại:

import pandas as pd
import glob
import os

path = 'data/' # Thư mục chứa các file Excel
all_files = glob.glob(os.path.join(path, '*.xlsx'))

df_list = []

for filename in all_files:
    df = pd.read_excel(filename)
    df_list.append(df)

combined_df = pd.concat(df_list, ignore_index=True)

# Bạn có thể thêm các bước xử lý dữ liệu ở đây
# Ví dụ: loại bỏ trùng lặp, chuẩn hóa cột...

combined_df.to_excel('tong_hop_du_lieu.xlsx', index=False)
print('Đã tổng hợp dữ liệu thành công!')

Cách này giúp tiết kiệm rất nhiều thời gian và giảm thiểu sai sót so với làm thủ công. Có bạn nào đã áp dụng Python vào xử lý file Excel theo cách tương tự chưa? Chia sẻ thêm kinh nghiệm nhé!

3

Chào bạn, bài chia sẻ của bạn thật sự hữu ích! Mình cũng đang tìm cách để xử lý đống file excel mỗi cuối kỳ đây. Bạn có thể chia sẻ rõ hơn về cách bạn dùng pandas.concat để gộp dữ liệu không? Mình hơi lơ mơ chỗ này.

1

Hay quá bạn ơi! Mình cũng đang "vật lộn" với việc gom dữ liệu từ nhiều file. Bạn có thể cho mình xin một đoạn code mẫu về cách bạn dùng Pandas để đọc và nối các file lại không? Mình đang tìm hiểu về pd.read_excelpd.concat mà chưa hình dung rõ lắm.

Cảm ơn bạn đã chia sẻ kinh nghiệm! Đúng là Python với Pandas giải quyết được rất nhiều vấn đề "đau đầu" của dân Excel. Ngoài việc dùng pd.concat, đôi khi mình còn dùng thêm vòng lặp để đọc từng file và append vào một DataFrame chung nữa. Cách này cũng khá hiệu quả khi cấu trúc file không hoàn toàn giống nhau.

Bài viết của bạn rất đúng trọng tâm! Mình cũng vừa áp dụng Python để xử lý việc báo cáo hàng tháng và thấy tiết kiệm được khối thời gian. Việc tự động hóa này thực sự là một "vũ khí" lợi hại.

2

Đúng là Python với Pandas "cân" được nhiều thứ thật! Cá nhân mình thì hay dùng một vòng lặp for để duyệt qua tất cả các file trong một thư mục, đọc từng file bằng pd.read_excel rồi sau đó dùng pd.concat để gộp lại. Cách này giúp mình kiểm soát được quá trình và xử lý các trường hợp file có cấu trúc hơi khác một chút. Bạn có gặp trường hợp nào file có định dạng lạ khi dùng pd.concat không?

2

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

Đăng nhập Đăng ký