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 gom dữ liệu từ nhiều Sheet vào một Master Sheet bằng Python

Liên Sáng Khôi 14/03/2026 11:09 593 lượt xem 3 trả lời

Chào mọi người,

Dạo này mình đang mày mò dùng Python để xử lý dữ liệu Excel và thấy nó khá hiệu quả, đặc biệt là với các tác vụ lặp đi lặp lại. Hôm nay mình muốn chia sẻ một script nhỏ mình vừa viết để tự động gom dữ liệu từ nhiều sheet trong cùng một file Excel vào một sheet tổng hợp (Master Sheet).

Tình huống của mình là có một file báo cáo, mỗi tháng sẽ có một sheet mới với cấu trúc y hệt nhau, chỉ khác dữ liệu. Việc copy-paste thủ công từng sheet vào sheet tổng hợp rất tốn thời gian và dễ sai sót. Với Python, việc này trở nên đơn giản hơn rất nhiều.

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

import pandas as pd

excel_file = pd.ExcelFile('du_lieu_bao_cao.xlsx')

# Lấy danh sách các sheet, trừ sheet tổng hợp (nếu có)
sheets_to_process = [sheet for sheet in excel_file.sheet_names if sheet != 'Master Sheet']

dataframes = []

for sheet_name in sheets_to_process:
    df = excel_file.parse(sheet_name)
    dataframes.append(df)

# Ghép tất cả các DataFrame lại
master_df = pd.concat(dataframes, ignore_index=True)

# Lưu kết quả vào sheet 'Master Sheet' (hoặc tạo mới nếu chưa có)
with pd.ExcelWriter('du_lieu_bao_cao.xlsx', engine='openpyxl', mode='a') as writer:
    master_df.to_excel(writer, sheet_name='Master Sheet', index=False)

print('Đã gom dữ liệu thành công vào Master Sheet!')

Lưu ý:

  • Bạn cần cài đặt thư viện pandasopenpyxl: pip install pandas openpyxl
  • Thay 'du_lieu_bao_cao.xlsx' bằng tên file Excel của bạn.
  • Đảm bảo tên sheet tổng hợp trong code khớp với tên sheet bạn muốn lưu/cập nhật.

Cách này giúp mình tiết kiệm kha khá thời gian mỗi lần cập nhật báo cáo. Có ai đã thử dùng Python cho các tác vụ tương tự chưa? Chia sẻ thêm kinh nghiệm cho mọi người với nhé!

3
Hay quá bạn ơi! Mình cũng đang tìm cách tự động hóa mấy vụ gom dữ liệu này. Script của bạn có dùng thư viện pandas không? Mình thấy pandas xử lý Excel khá mạnh mẽ. Bạn có thể chia sẻ thêm về cách bạn xử lý các trường hợp có thể có sự khác biệt nhỏ về cấu trúc sheet không? Ví dụ như thứ tự cột chẳng hạn. Cảm ơn bạn đã chia sẻ nhé!
4

Hay quá bạn ơi! Mình cũng đang tìm cách tự động hóa mấy vụ gom dữ liệu này. Script của bạn có dùng thư viện pandas không? Mình thấy pandas xử lý Excel khá mạnh mẽ.

Bạn có thể chia sẻ thêm về cách bạn xử lý các trường hợp có thể có sự khác biệt nhỏ về cấu trúc sheet không? Ví dụ như thứ tự cột chẳng hạn. Cảm ơn bạn đã chia sẻ nhé!

0

Chào bạn,

Thật tuyệt khi bạn đã tìm ra cách tự động hóa việc gom dữ liệu bằng Python! Mình cũng thường xuyên gặp tình huống tương tự, việc gom dữ liệu thủ công thực sự tốn thời gian.

Script của bạn nghe rất hữu ích. Bạn có thể chia sẻ thêm về cách bạn xử lý trường hợp dữ liệu có thể có những cột "thừa" hoặc "thiếu" so với sheet gốc không? Đôi khi cấu trúc sheet không hoàn toàn giống nhau 100%.

Cảm ơn bạn đã chia sẻ!

3

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

Đăng nhập Đăng ký