Chào các bạn, dạo này mình đang tìm hiểu cách dùng Python để xử lý dữ liệu Excel và thấy nó thực sự mạnh mẽ. Hôm nay mình muốn chia sẻ một chút về cách tự động hóa việc cập nhật dữ liệu từ nhiều file Excel khác nhau vào một file tổng hợp duy nhất.
Công việc của mình thỉnh thoảng phải tổng hợp số liệu từ các báo cáo của các phòng ban khác nhau, mỗi phòng ban lại gửi báo cáo dưới dạng file Excel riêng. Việc copy-paste thủ công rất mất thời gian và dễ sai sót.
Sau khi tìm hiểu, mình đã sử dụng thư viện pandas trong Python để giải quyết vấn đề này. Ý tưởng cơ bản là:
- Liệt kê tất cả các file Excel cần tổng hợp trong một thư mục.
- Sử dụng vòng lặp để đọc từng file Excel bằng
pd.read_excel(). - Ghép các DataFrame đọc được lại với nhau bằng
pd.concat(). - Lưu kết quả vào một file Excel mới hoặc ghi đè lên file tổng hợp hiện có.
Ví dụ đơn giản về code:
import pandas as pd
import os
folder_path = 'duong_dan_den_thu_muc_chua_file'
output_file = 'tong_hop_du_lieu.xlsx'
all_data = []
for filename in os.listdir(folder_path):
if filename.endswith('.xlsx'):
file_path = os.path.join(folder_path, filename)
df = pd.read_excel(file_path)
all_data.append(df)
if all_data:
final_df = pd.concat(all_data, ignore_index=True)
final_df.to_excel(output_file, index=False)
print(f'Đã tổng hợp dữ liệu vào {output_file}')
else:
print('Không tìm thấy file Excel nào trong thư mục.')Cách này giúp mình tiết kiệm rất nhiều thời gian và đảm bảo tính chính xác. Không biết có bạn nào đã áp dụng Python để tự động hóa các tác vụ tương tự trong Excel chưa? Chia sẻ thêm kinh nghiệm cho mọi người cùng học hỏi nhé!