Chào mọi người,
Dạo gần đây công việc của mình liên quan đến việc tổng hợp dữ liệu từ nhiều file Excel khác nhau để tạo báo cáo hàng tháng. Việc này thủ công khá tốn thời gian và dễ sai sót. Mình đã tìm hiểu và áp dụng Python để tự động hóa quá trình này, thấy hiệu quả nên chia sẻ lại cho anh em tham khảo.
Mục tiêu: Tự động tổng hợp dữ liệu từ các file Excel (ví dụ: sales_thang_1.xlsx, sales_thang_2.xlsx, ...) vào một file báo cáo tổng hợp duy nhất.
Công cụ: Python với thư viện pandas.
Các bước thực hiện cơ bản:
- Sử dụng
pandas.read_excel()để đọc dữ liệu từ từng file. - Lưu trữ các DataFrame vào một danh sách.
- Dùng
pandas.concat()để nối tất cả các DataFrame lại với nhau. - Xuất kết quả ra một file Excel mới bằng
.to_excel().
Ví dụ đoạn code minh họa:
import pandas as pd
import glob
# Tìm tất cả các file excel trong một thư mục
all_files = glob.glob('du_lieu_hang_thang/*.xlsx')
list_data = []
for f in all_files:
df = pd.read_excel(f)
list_data.append(df)
# Nối các DataFrame lại
big_df = pd.concat(list_data, ignore_index=True)
# Xuất ra file báo cáo tổng hợp
big_df.to_excel('bao_cao_tong_hop.xlsx', index=False)
print('Hoàn thành tạo báo cáo!')Cách này giúp mình tiết kiệm được rất nhiều thời gian và đảm bảo tính chính xác của dữ liệu. Anh em nào có nhu cầu xử lý file Excel số lượng lớn hoặc cần tự động hóa các tác vụ tương tự thì có thể nghiên cứu thêm về Python.
Có ai đã áp dụng Python vào công việc với Excel chưa? Chia sẻ thêm kinh nghiệm nhé!