Tự động hóa tạo slide thuyết trình PowerPoint từ dữ liệu phân tích bằng thư viện python-pptx

6c9fd2ef52e7484c84e8c3e0a4351bf7

Hướng dẫn viết code Python với thư viện python-pptx để tự động hóa PowerPoint bằng Python: chèn bảng số liệu, gắn biểu đồ và xuất bộ slide báo cáo định kỳ giúp tiết kiệm 90% thời gian làm việc.

1. Tại sao Data Analyst cần tự động hóa tạo slide PowerPoint?

Mỗi cuối tuần hay cuối tháng, các Data Analyst thường phải đối mặt với công việc lặp đi lặp lại: lấy số liệu từ SQL, vẽ biểu đồ, copy-paste vào các slide PowerPoint báo cáo cho ban lãnh đạo. Việc này vừa tốn thời gian vừa dễ xảy ra sai sót định dạng.

Sử dụng thư viện python-pptx giúp bạn xây dựng script tự động hóa toàn bộ quy trình này. Chỉ với một cú click chạy code, toàn bộ bộ slide báo cáo chuyên nghiệp sẽ được tạo ra trong tích tắc.

2. Cài đặt môi trường và thư viện python-pptx

Để bắt đầu làm việc với các tệp PowerPoint (.pptx) bằng Python, bạn cần cài đặt thư viện thông qua lệnh pip:

Bash

pip install python-pptx pandas matplotlib

3. Viết code Python tạo một file PowerPoint cơ bản

Dưới đây là đoạn code mẫu giúp bạn khởi tạo một bản thuyết trình, thêm slide tiêu đề và slide nội dung dạng danh sách:

Python

from pptx import Presentation
from pptx.util import Inches, Pt

# Khởi tạo một presentation mới
prs = Presentation()

# Thêm slide tiêu đề (Layout 0)
slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(slide_layout)
title = slide.shapes.title
subtitle = slide.placeholders[1]

title.text = "Báo Cáo Doanh Thu Tự Động"
subtitle.text = "Được thực hiện bởi Data Analyst Team\nMCNA Technology School"

# Lưu file PowerPoint
prs.save("BaoCaoKinhDoanh.pptx")
print("Đã tạo file PowerPoint thành công!")

4. Tự động chèn bảng số liệu (Table) vào slide

Bên cạnh văn bản, các báo cáo kinh doanh luôn cần những bảng số liệu chi tiết. Bạn có thể dễ dàng thêm bảng vào slide bằng python-pptx:

Python

# Thêm slide nội dung mới (Layout 5: Title only)
blank_slide_layout = prs.slide_layouts[5]
slide = prs.slides.add_slide(blank_slide_layout)

# Đặt tiêu đề slide
title_shape = slide.shapes.title
title_shape.text = "Bảng Số Liệu Chi Tiết Theo Khu Vực"

# Định vị và kích thước bảng (Left, Top, Width, Height)
rows, cols = 4, 3
left, top, width, height = Inches(1), Inches(1.5), Inches(8), Inches(2)

table_shape = slide.shapes.add_table(rows, cols, left, top, width, height)
table = table_shape.table

# Đưa dữ liệu vào các ô trong bảng
table.cell(0, 0).text = "Khu Vực"
table.cell(0, 1).text = "Doanh Thu (VND)"
table.cell(0, 2).text = "Tăng Trưởng"

table.cell(1, 0).text = "Hà Nội"
table.cell(1, 1).text = "1.200.000.000"
table.cell(1, 2).text = "+15%"

table.cell(2, 0).text = "TP. Hồ Chí Minh"
table.cell(2, 1).text = "1.500.000.000"
table.cell(2, 2).text = "+22%"

5. Tự động gắn hình ảnh biểu đồ vào báo cáo PowerPoint

Để slide thêm phần trực quan, bạn có thể kết hợp vẽ biểu đồ bằng matplotlib, lưu thành file ảnh sau đó chèn trực tiếp vào slide PowerPoint:

Python

import matplotlib.pyplot as plt

# 1. Vẽ biểu đồ bằng matplotlib và lưu lại
thang = ['Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4']
doanh_thu = [120, 150, 180, 210]

plt.figure(figsize=(6, 4))
plt.bar(thang, doanh_thu, color='skyblue')
plt.title('Xu Hướng Doanh Thu Quý I')
plt.savefig('bieu_do_doanh_thu.png', bbox_inches='tight')
plt.close()

# 2. Chèn hình ảnh biểu đồ vào slide PowerPoint
slide2 = prs.slides.add_slide(prs.slide_layouts[5])
slide2.shapes.title.text = "Biểu Đồ Trực Quan Hóa Doanh Thu"

img_path = 'bieu_do_doanh_thu.png'
left = Inches(1.5)
top = Inches(1.8)
width = Inches(6.5)

slide2.shapes.add_picture(img_path, left, top, width=width)
prs.save("BaoCaoKinhDoanh.pptx")

6. Lợi ích vượt trội cho Data Analyst

  • Tiết kiệm 90% thời gian: Giải phóng hoàn toàn các thao tác thủ công định dạng slide, căn chỉnh lề, copy biểu đồ.

  • Đồng bộ và chuyên nghiệp: Đảm bảo toàn bộ báo cáo tuân thủ đúng một chuẩn template nhận diện thương hiệu của công ty.

  • Tự động hóa toàn diện: Kết hợp script Python với hệ thống lập lịch (Scheduler) để tự động xuất file slide vào sáng thứ Hai hằng tuần.

7. Tổng kết

Thành thạo kỹ thuật tự động hóa PowerPoint bằng Python thông qua thư viện python-pptx là một bước tiến lớn giúp Data Analyst nâng cao năng suất làm việc, biến các con số khô khan thành những bộ slide báo cáo đẳng cấp và chuyên nghiệp.

✍️ Tác giả: Phan Thị Như Phước – Data Analyst tại MCNA Technology School

📞 Hotline: 0939.866.825 (Mr. Minh Khang)

🌐 Website: mcna.vn

📍 Hà Nội: 30 Trung Liệt, Đống Đa | Liền kề 44B TT2 Văn Quán, Hà Đông

📍 TP.HCM: 50B Phan Tây Hồ, Cầu Kiệu

→ Chỉ mục