Chào các bạn trong diễn đàn Sheet & Excel,
Dạo này mình đang làm quen với Python để tự động hóa một số tác vụ với Excel. Hôm nay mình muốn chia sẻ một kinh nghiệm nhỏ mà mình vừa vọc ra được, hy vọng có ích cho các bạn đang làm việc với dữ liệu lớn.
Trong Excel, việc gom nhóm (grouping) và tổng hợp (summarizing) dữ liệu theo các tiêu chí khác nhau là rất phổ biến. Tuy nhiên, với những file có hàng chục ngàn dòng, thao tác thủ công bằng chuột hoặc các hàm như SUMIFS, COUNTIFS đôi khi khá mất thời gian và dễ sai sót.
Mình đã thử dùng thư viện pandas trong Python để xử lý việc này và thấy hiệu quả rõ rệt. Các bước cơ bản như sau:
- Đọc dữ liệu Excel vào một DataFrame của pandas.
- Sử dụng phương thức
groupby()để gom nhóm dữ liệu theo một hoặc nhiều cột. - Áp dụng các hàm tổng hợp như
sum(),mean(),count(),agg()để tính toán trên các nhóm đã gom. - Xuất kết quả ra một file Excel mới hoặc ghi đè lên file cũ.
Ví dụ, nếu bạn có một file Excel với các cột 'Sản phẩm', 'Khu vực', 'Doanh thu', bạn có thể dễ dàng tính tổng doanh thu theo từng sản phẩm và từng khu vực bằng vài dòng code Python:
import pandas as pd
df = pd.read_excel('du_lieu_ban_hang.xlsx')
tong_doanh_thu = df.groupby(['Sản phẩm', 'Khu vực'])['Doanh thu'].sum()
tong_doanh_thu.to_excel('ket_qua_tong_hop.xlsx')Cách này giúp mình tiết kiệm rất nhiều thời gian, đặc biệt là khi cần tạo các báo cáo tổng hợp định kỳ. Không biết có bạn nào đã ứng dụng Python vào việc này chưa? Chia sẻ thêm kinh nghiệm cho mọi người cùng học hỏi nhé!