Giờ là lúc để tổng hợp mọi kỹ năng từ đầu phần 3 tới giờ: từ requests
, pandas
, json
, excel
, đến matplotlib
. Chúng ta sẽ dùng Python để phân tích và vẽ biểu đồ dữ liệu doanh thu như một chuyên viên dữ liệu thực thụ.
Khi bạn làm ra insight thay vì chỉ nhìn con số
Một file Excel có thể chứa:
- 500 dòng dữ liệu bán hàng
- 12 tháng doanh thu
- Tên hàng trăm sản phẩm
Nhưng giám đốc cần gì?
Họ cần: xu hướng – sản phẩm nào đang hot – tháng nào lỗ lời – insight nhanh gọn dễ hiểu.
Và bạn – người biết lập trình với Python – sẽ cung cấp những điều đó chỉ với vài dòng code.
Mục tiêu project
- Đọc dữ liệu từ Excel (.xlsx)
- Làm sạch và xử lý dữ liệu bằng
pandas
- Phân tích tổng doanh thu, sản phẩm bán chạy
- Vẽ biểu đồ doanh thu theo tháng
- Xuất kết quả thành file báo cáo hoặc gửi mail nếu muốn
1. File dữ liệu mẫu (doanhthu.xlsx
)
Giả sử bạn có bảng dữ liệu sau:
Ngày | Sản phẩm | Số lượng | Đơn giá | Doanh thu |
---|---|---|---|---|
2025-01-05 | Áo sơ mi | 3 | 250000 | 750000 |
2025-01-07 | Quần jeans | 2 | 400000 | 800000 |
… | … | … | … | … |
2. Đọc dữ liệu và xử lý
import pandas as pd
df = pd.read_excel("doanhthu.xlsx")
df["Ngày"] = pd.to_datetime(df["Ngày"])
df["Tháng"] = df["Ngày"].dt.to_period("M")
print(df.head())
3. Phân tích tổng quan
tong_doanh_thu = df["Doanh thu"].sum()
san_pham_top = df.groupby("Sản phẩm")["Doanh thu"].sum().sort_values(ascending=False)
doanh_thu_thang = df.groupby("Tháng")["Doanh thu"].sum()
print(f"Tổng doanh thu: {tong_doanh_thu:,.0f} VND")
print("Sản phẩm bán chạy:")
print(san_pham_top.head(5))
4. Vẽ biểu đồ doanh thu theo tháng
import matplotlib.pyplot as plt
doanh_thu_thang.plot(kind="bar", color="skyblue")
plt.title("Doanh thu theo tháng")
plt.xlabel("Tháng")
plt.ylabel("Doanh thu (VND)")
plt.tight_layout()
plt.savefig("bieu_do_doanhthu.png")
plt.show()
5. Ghi báo cáo ra file Excel
with pd.ExcelWriter("baocao_tonghop.xlsx") as writer:
df.to_excel(writer, sheet_name="Raw data", index=False)
doanh_thu_thang.to_excel(writer, sheet_name="Doanh thu theo tháng")
san_pham_top.to_excel(writer, sheet_name="Top sản phẩm")
6. (Tùy chọn) Gửi báo cáo qua email
# Từ bài gửi email trước — bạn có thể đính kèm 'baocao_tonghop.xlsx' + 'bieu_do_doanhthu.png'
7. Mở rộng project nếu muốn nâng cao
- Tạo giao diện đơn giản với
Tkinter
để chọn file và bấm nút “Phân tích” - Kết nối API Google Sheet thay vì đọc từ Excel
- Làm dashboard web đơn giản bằng Flask
- Tự động chạy hàng ngày và gửi mail lúc 8h sáng
✅ Bạn vừa hoàn thành một mini system phân tích dữ liệu!
- Từ file gốc → thành biểu đồ, báo cáo Excel → có thể tự động gửi mail
- Đây chính là công việc của data analyst thực thụ
- Và bạn hoàn toàn có thể nâng cấp nó lên dashboard, phần mềm hoặc API
🎉 Chúc mừng bạn đã hoàn thành toàn bộ Phần 3 – Ứng dụng & Nâng cao!
Thảo luận