Chào các anh em trong diễn đàn,
Dạo này mình có làm việc với một lượng lớn file Excel, mỗi file chứa dữ liệu bán hàng của một chi nhánh. Sếp giao cho mình tổng hợp lại doanh thu toàn công ty hàng tháng. Ban đầu mình định dùng Power Query nhưng file có cấu trúc hơi khác nhau ở một vài cột nên cũng hơi lằng nhằng. Sau đó, mình nghĩ ngay đến Python và thư viện Pandas, quả thực là giải pháp tuyệt vời!
Mình viết một đoạn script nhỏ để tự động đọc tất cả các file Excel trong một thư mục, sau đó trích xuất cột 'Doanh thu' và 'Ngày bán' rồi gom vào một DataFrame duy nhất. Cuối cùng là lưu lại thành một file Excel tổng hợp.
Đây là đoạn code mình dùng:
import pandas as pd
import os
folder_path = 'duong/dan/den/thu/muc/excel'
output_file = 'tong_hop_doanh_thu.xlsx'
all_data = pd.DataFrame()
for filename in os.listdir(folder_path):
if filename.endswith('.xlsx'):
file_path = os.path.join(folder_path, filename)
try:
df = pd.read_excel(file_path)
# Giả sử cột cần trích xuất là 'Doanh thu' và 'Ngày bán'
# Bạn cần điều chỉnh tên cột cho phù hợp với file của mình
if 'Doanh thu' in df.columns and 'Ngày bán' in df.columns:
data_to_add = df[['Doanh thu', 'Ngày bán']]
all_data = pd.concat([all_data, data_to_add], ignore_index=True)
else:
print(f"Cảnh báo: File {filename} không có đủ cột cần thiết.")
except Exception as e:
print(f"Lỗi khi đọc file {filename}: {e}")
if not all_data.empty:
all_data.to_excel(output_file, index=False)
print(f"Đã tổng hợp dữ liệu vào file: {output_file}")
else:
print("Không có dữ liệu nào được tổng hợp.")
Cách này giúp mình tiết kiệm được rất nhiều thời gian và tránh sai sót so với làm thủ công. Các bạn nào đang gặp vấn đề tương tự thì thử áp dụng xem sao nhé!
Có ai có kinh nghiệm hay script hay ho hơn thì chia sẻ cho mọi người cùng học hỏi ạ!