Chào các bạn, mình là thành viên mới trên diễn đàn. Hôm nay mình muốn chia sẻ một chút kinh nghiệm về việc tự động hóa xử lý các file Excel hàng loạt bằng Python, cụ thể là sử dụng thư viện Pandas. Đây là một vấn đề khá phổ biến, đặc biệt là khi chúng ta phải làm việc với nhiều file báo cáo có cấu trúc tương tự nhau.
Trước đây, mỗi lần nhận về cả chục file Excel báo cáo từ các chi nhánh, mình thường phải mở từng file, copy-paste dữ liệu sang một file tổng hợp. Công việc này vừa tốn thời gian, vừa dễ sai sót. Sau khi tìm hiểu, mình biết đến Pandas và nhận ra nó giải quyết được vấn đề này một cách hiệu quả.
Với Pandas, chúng ta có thể đọc tất cả các file Excel trong một thư mục vào một DataFrame duy nhất, sau đó thực hiện các thao tác xử lý như lọc dữ liệu, tính toán, nhóm dữ liệu, và cuối cùng là xuất kết quả ra một file Excel mới hoặc một định dạng khác.
Ví dụ đơn giản là đọc tất cả các file .xlsx trong thư mục data và gộp chúng lại:
import pandas as pd
import glob
import os
# Lấy danh sách tất cả các file Excel trong thư mục
all_files = glob.glob(os.path.join('data', '*.xlsx'))
df_list = []
for filename in all_files:
df = pd.read_excel(filename)
df_list.append(df)
# Gộp tất cả các DataFrame thành một
big_df = pd.concat(df_list, ignore_index=True)
# Xuất kết quả ra file Excel mới
big_df.to_excel('tong_hop_du_lieu.xlsx', index=False)
Ngoài ra, Pandas còn hỗ trợ rất nhiều các chức năng mạnh mẽ khác như xử lý dữ liệu bị thiếu, chuyển đổi kiểu dữ liệu, kết hợp dữ liệu từ nhiều nguồn, v.v.
Mình hy vọng chia sẻ nhỏ này sẽ giúp ích được cho các bạn nào đang gặp khó khăn tương tự. Nếu có câu hỏi hoặc có cách nào hay hơn, mọi người cùng thảo luận nhé!