Chào mọi người,
Dạo này mình đang làm việc với Python để tự động hóa các tác vụ Excel và muốn chia sẻ một script nhỏ giúp tự động tạo biểu đồ từ dữ liệu có sẵn. Hy vọng sẽ hữu ích cho anh em nào đang cần xử lý báo cáo Excel thường xuyên.
Chuyện là mình có một file Excel chứa dữ liệu bán hàng theo tháng. Mỗi tháng lại có một sheet riêng, và mình cần tạo biểu đồ để so sánh doanh thu giữa các tháng. Làm thủ công thì mất thời gian mà dễ sai sót.
Mình đã viết một đoạn script Python sử dụng thư viện pandas và matplotlib để giải quyết vấn đề này. Script sẽ đọc dữ liệu từ các sheet, tổng hợp lại và tự động vẽ biểu đồ cột thể hiện doanh thu từng tháng.
Đây là đoạn code chính:
import pandas as pd
import matplotlib.pyplot as plt
# Đọc dữ liệu từ file Excel
df = pd.read_excel('du_lieu_ban_hang.xlsx', sheet_name=None)
# Khởi tạo DataFrame để lưu trữ tổng hợp
data_tong_hop = pd.DataFrame()
# Lặp qua từng sheet để lấy dữ liệu
for ten_sheet, data_sheet in df.items():
# Giả sử cột chứa doanh thu là 'Doanh thu'
doanh_thu_thang = data_sheet['Doanh thu'].sum()
data_tong_hop = data_tong_hop.append({'Thang': ten_sheet, 'Doanh thu': doanh_thu_thang}, ignore_index=True)
# Vẽ biểu đồ
plt.figure(figsize=(10, 6))
plt.bar(data_tong_hop['Thang'], data_tong_hop['Doanh thu'], color='skyblue')
plt.xlabel('Tháng')
plt.ylabel('Doanh thu')
plt.title('Biểu đồ doanh thu theo tháng')
plt.xticks(rotation=45)
plt.tight_layout()
plt.savefig('bieu_do_doanh_thu.png') # Lưu biểu đồ thành file ảnh
plt.show()
Anh em nào cần xử lý tương tự hoặc muốn tùy biến thêm (ví dụ: chọn loại biểu đồ khác, thêm nhãn dữ liệu...) thì có thể tham khảo nhé. Nếu có cách nào hay hơn thì cùng thảo luận ạ!