Chào các bác, dạo này em đang vật lộn với một đống file Excel to đùng, mỗi file vài trăm MB, mà lại phải gom chung lại xử lý. Dùng Power Query thì cũng ổn nhưng có vẻ hơi chậm với dung lượng lớn. Em thử mò mẫm dùng Python để xử lý thì thấy hiệu quả hơn hẳn.
Cụ thể là em dùng thư viện pandas để đọc các file Excel, sau đó thực hiện các thao tác như lọc, gom nhóm, tính toán rồi ghi ra file mới. Cái hay là mình có thể viết script một lần, rồi chạy cho hàng chục, hàng trăm file mà không cần thao tác thủ công.
Ví dụ, để đọc tất cả các file Excel trong một thư mục và gom lại thành một DataFrame, em hay dùng đoạn code thế này:
import pandas as pd
import glob
path = 'duong_dan_toi_thu_muc_cua_ban' # Thay thế bằng đường dẫn thực tế
all_files = glob.glob(path + "/*.xlsx")
df_list = []
for filename in all_files:
df = pd.read_excel(filename, index_col=None, header=0)
df_list.append(df)
big_df = pd.concat(df_list, axis=0, ignore_index=True)
Sau đó thì tha hồ mà xử lý với big_df. Có bác nào có kinh nghiệm hay script hay ho nào về việc dùng Python xử lý dữ liệu lớn trong Excel không, chia sẻ cho em học hỏi với ạ? Em đang tìm cách tối ưu hơn nữa để xử lý mấy file báo cáo hàng quý mà sếp giao.