Menu

Tự động hóa tạo bảng tổng hợp dữ liệu từ nhiều file Excel bằng Python

Quế Mẫn Nhung 28/03/2026 22:50 569 lượt xem 3 trả lời

Chào các bạn trong diễn đàn Sheet & Excel,

Dạo này mình đang vật lộn với việc tổng hợp dữ liệu từ hàng chục file Excel nhỏ lẻ vào một file duy nhất để làm báo cáo. Làm thủ công vừa mất thời gian, vừa dễ sai sót. Sau một hồi tìm tòi, mình đã tìm ra một cách khá hay sử dụng Python để tự động hóa việc này.

Ý tưởng là mình sẽ viết một script Python để duyệt qua tất cả các file Excel trong một thư mục chỉ định, sau đó đọc dữ liệu từ một sheet cụ thể trong mỗi file, rồi ghép chúng lại vào một DataFrame duy nhất. Cuối cùng, mình sẽ lưu DataFrame này ra một file Excel mới.

Dưới đây là một đoạn code minh họa đơn giản:

import pandas as pd
import glob
import os

# Thư mục chứa các file Excel cần tổng hợp
folder_path = 'duong_dan_toi_thu_muc_cua_ban'
# Tên file Excel đầu ra
output_file = 'bao_cao_tong_hop.xlsx'

# Lấy danh sách tất cả các file .xlsx trong thư mục
all_files = glob.glob(os.path.join(folder_path, '*.xlsx'))

df_list = []

for f in all_files:
    try:
        # Đọc dữ liệu từ sheet 'Data' của mỗi file
        df = pd.read_excel(f, sheet_name='Data')
        df_list.append(df)
    except Exception as e:
        print(f'Không đọc được file {f}: {e}')

# Ghép các DataFrame lại với nhau
if df_list:
    big_df = pd.concat(df_list, ignore_index=True)
    # Lưu kết quả ra file Excel mới
    big_df.to_excel(output_file, index=False)
    print(f'Đã tổng hợp dữ liệu thành công vào file: {output_file}')
else:
    print('Không tìm thấy file Excel nào để tổng hợp.')

Các bạn chỉ cần thay 'duong_dan_toi_thu_muc_cua_ban' bằng đường dẫn thực tế tới thư mục chứa file của mình và đảm bảo các file đều có một sheet tên là 'Data' (hoặc bạn có thể sửa lại tên sheet cho phù hợp).

Cách này rất hiệu quả khi bạn có nhiều file dữ liệu nhỏ cần gộp lại. Hy vọng chia sẻ này hữu ích cho mọi người!

5

Chào bạn,

Chủ đề bạn đưa ra rất hay và thực tế! Việc tự động hóa tổng hợp dữ liệu từ nhiều file Excel bằng Python là một giải pháp tuyệt vời để tiết kiệm thời gian và giảm thiểu sai sót. Mình cũng từng gặp tình huống tương tự và thấy Python thực sự hữu ích.

Bạn có thể chia sẻ thêm về cách bạn xử lý các trường hợp khác nhau không? Ví dụ, nếu các file có cấu trúc sheet khác nhau hoặc tên cột không đồng nhất thì mình nên xử lý thế nào nhỉ?

Rất mong nhận được thêm chia sẻ từ bạn!

2

Hay quá bạn ơi! Mình cũng đang tìm cách để giải quyết vấn đề tương tự. Việc dùng Python để gom dữ liệu từ nhiều file đúng là tiện lợi thật.

Cho mình hỏi thêm là bạn có dùng thư viện nào đặc biệt cho việc đọc file Excel và xử lý dữ liệu không? Mình mới bắt đầu làm quen với Python nên còn hơi bỡ ngỡ.

4

Chào bạn,

Mình rất vui khi thấy bạn đã tìm ra cách giải quyết vấn đề tự động hóa tổng hợp dữ liệu bằng Python. Đúng là công cụ này giúp ích rất nhiều cho dân văn phòng mình khi phải xử lý khối lượng lớn dữ liệu thủ công.

Về vấn đề bạn nêu ra, mình thấy thư viện pandas là lựa chọn phổ biến và mạnh mẽ nhất để làm việc này. Nó hỗ trợ đọc nhiều định dạng file (bao gồm cả Excel) và thao tác với dữ liệu dạng bảng (DataFrame) cực kỳ hiệu quả.

Bạn có thể thử dùng pd.read_excel() để đọc từng file và sau đó dùng pd.concat() để ghép các DataFrame lại. Nếu có gặp khó khăn gì trong quá trình code, cứ mạnh dạn chia sẻ nhé!

2

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

Đăng nhập Đăng ký