Menu

Tự động hóa trích xuất dữ liệu từ nhiều file Excel cùng thư mục bằng Python

Vĩnh Hồng Khánh 29/03/2026 01:21 535 lượt xem 0 trả lời

Chào các bạn,

Dạo gần đây mình có làm một dự án nhỏ cần trích xuất dữ liệu từ rất nhiều file Excel đặt chung trong một thư mục. Việc mở từng file ra copy-paste rất tốn thời gian và dễ sai sót. Sau một hồi tìm tòi, mình đã tìm ra một cách khá hay bằng Python để tự động hóa việc này. Hôm nay mình muốn chia sẻ lại cho anh em nào đang gặp tình huống tương tự.

Vấn đề: Cần tổng hợp dữ liệu từ nhiều file Excel (cùng cấu trúc) trong một thư mục vào một file duy nhất.

Giải pháp: Sử dụng thư viện pandasos của Python.

Các bước thực hiện:

  • Bước 1: Import các thư viện cần thiết.
  • Bước 2: Xác định đường dẫn đến thư mục chứa các file Excel.
  • Bước 3: Lặp qua tất cả các file trong thư mục. Nếu là file Excel thì đọc dữ liệu vào DataFrame.
  • Bước 4: Nối tất cả các DataFrame lại với nhau.
  • Bước 5: Lưu DataFrame kết quả ra một file Excel mới.

Dưới đây là đoạn code minh họa:

import pandas as pd
import os

folder_path = 'duong_dan_den_thu_muc_cua_ban'
output_file = 'ket_qua_tong_hop.xlsx'

all_data = pd.DataFrame()

for filename in os.listdir(folder_path):
    if filename.endswith('.xlsx') or filename.endswith('.xls'):
        file_path = os.path.join(folder_path, filename)
        df = pd.read_excel(file_path)
        all_data = pd.concat([all_data, df], ignore_index=True)

all_data.to_excel(output_file, index=False)

print(f'Đã tổng hợp dữ liệu từ {len(os.listdir(folder_path))} file vào {output_file}')

Lưu ý: Bạn cần thay 'duong_dan_den_thu_muc_cua_ban' bằng đường dẫn thực tế đến thư mục của bạn. Đoạn code này giả định tất cả các file Excel đều có cấu trúc sheet và cột giống nhau.

Hy vọng mẹo nhỏ này sẽ giúp ích cho các bạn trong công việc. Nếu có thắc mắc gì, đừng ngần ngại hỏi nhé!

4

Hay quá bạn ơi! Mình cũng đang đau đầu với việc xử lý đống file Excel này. Python quả là một cứu cánh. Bạn có thể chia sẻ thêm đoạn code ví dụ để mọi người dễ hình dung không? Đặc biệt là phần xử lý các trường hợp tên cột khác nhau giữa các file ấy, cái này mình hay gặp lắm.

0

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

Đăng nhập Đăng ký