Menu

Tự động hóa việc tạo các bảng tổng hợp (Pivot Table) bằng Python trong Excel

Lã Khả Trinh 07/06/2026 06:59 282 lượt xem 2 trả lời

Chào mọi người,

Dạo này mình đang thử nghiệm dùng Python để xử lý dữ liệu trong Excel và thấy khá hiệu quả. Hôm nay mình muốn chia sẻ với mọi người một cách tự động hóa việc tạo Pivot Table bằng Python. Cái này rất tiện, nhất là khi mình cần tạo nhiều bảng tổng hợp với các cấu hình khác nhau hoặc khi dữ liệu nguồn thay đổi thường xuyên.

Thay vì phải click chuột thủ công để tạo Pivot Table mỗi lần, mình có thể viết một đoạn script Python để làm điều đó. Thư viện pandasopenpyxl (hoặc xlsxwriter) là những công cụ mình hay dùng.

Ví dụ, giả sử mình có một file Excel với dữ liệu bán hàng và muốn tạo Pivot Table để xem tổng doanh thu theo từng khu vực và từng sản phẩm. Thay vì làm thủ công, mình có thể dùng đoạn code như sau:

import pandas as pd

# Đọc dữ liệu từ file Excel
df = pd.read_excel('du_lieu_ban_hang.xlsx')

# Tạo Pivot Table
pivot_table = pd.pivot_table(df, 
                          values='DoanhThu', 
                          index='KhuVuc', 
                          columns='SanPham',
                          aggfunc='sum')

# Ghi Pivot Table ra file Excel mới (hoặc ghi đè lên file cũ)
with pd.ExcelWriter('bao_cao_pivot.xlsx', engine='openpyxl') as writer:
    pivot_table.to_excel(writer, sheet_name='TongHopDoanhThu')

Cách này giúp mình tiết kiệm rất nhiều thời gian và giảm thiểu sai sót. Mọi người đã thử dùng Python để tự động hóa việc tạo Pivot Table chưa? Có cách nào hay hơn hoặc có gặp khó khăn gì không, chia sẻ cho mình biết với nhé!

5

Hay quá bạn ơi! Mình cũng đang mày mò vụ tự động hóa với Python trong Excel đây.

Việc tạo Pivot Table thủ công đúng là tốn thời gian thật, nhất là với file lớn hoặc cần cập nhật liên tục. Bạn có thể chia sẻ cụ thể hơn về đoạn script Python đó không? Ví dụ như cách bạn đọc dữ liệu từ file Excel, cấu hình các trường cho Pivot Table (hàng, cột, giá trị, bộ lọc) và cách lưu kết quả ra file mới không?

Mình đang dùng pandas để đọc và xử lý dữ liệu, nhưng phần tạo Pivot Table và ghi lại file Excel thì vẫn còn lơ mơ lắm. Rất mong được học hỏi thêm!

4

Cái này hay quá bạn ơi! Đúng là tự động hóa Pivot Table bằng Python sẽ tiết kiệm được khối thời gian.

Mình cũng đang tập tành với pandas và openpyxl đây. Bạn có thể cho mình xin một ví dụ script cơ bản để tham khảo không? Đặc biệt là phần cấu hình các trường cho Pivot Table ấy, mình chưa hình dung rõ lắm cách làm bằng code. Cảm ơn bạn nhiều!

1

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

Đăng nhập Đăng ký