Python & Veri Bilimi
Her hafta 30 şubeden gelen Excel dosyalarını Python ile otomatik nasıl birleştiririm?
27 Haz 2026, 11:19
|
4 Görüntülenme
Şirketimizde her pazartesi 30 şubeden aynı şablonda birer Excel dosyası geliyor ve ben bunları elle kopyala-yapıştır ile tek dosyada birleştirip özet tablo çıkarıyorum, yaklaşık 3 saatimi alıyor. Python bilgim başlangıç seviyesinde, pandas ile tek dosya okuyabiliyorum. Klasördeki tüm dosyaları otomatik okuyup birleştiren, hangi satırın hangi şubeden geldiğini de kaydeden bir betik nasıl kurarım? Bazı şubeler dosyayı geç veya hatalı gönderiyor, bunu da yakalamak isterim.
27.06.2026 11:19
Bu, otomasyonun en hızlı geri ödeyen türü; iskelet üç adımdan oluşur. Birinci adım dosyaları toplamak: pathlib modülünden Path ile klasörü gösterip glob deseniyle tüm xlsx dosyalarını listeleyin, örneğin Path(klasor).glob('*.xlsx'). İkinci adım döngüyle okumak: her dosyayı pd.read_excel ile açın ve birleştirmeden önce df'ye şube kimliğini ekleyin; dosya adları şube kodunu içeriyorsa df['sube'] = dosya.stem satırı kaynağı kalıcı olarak damgalar, sonradan hangi satır nereden geldi sorusu hiç doğmaz. Üçüncü adım pd.concat ile tek çerçevede birleştirip pivot_table veya groupby ile özetinizi almak. Hata yakalama kısmı asıl değeri üretir: okuma satırını try-except bloğuna alın, bozuk dosyalarda except dalı dosya adını bir hata listesine yazsın ve betik çökmeden devam etsin. Şablon tutarlılığı için birleştirmeden önce her df'nin sütun listesini beklenen listeyle karşılaştırın; eksik veya fazla sütun varsa o şubeyi rapora not düşün. Geç gönderenleri yakalamak için beklenen 30 şube kodunun kümesinden gelen dosyaların kümesini çıkarın, fark size eksikleri verir. Betiği Windows Görev Zamanlayıcı veya cron ile pazartesi sabahına kurduğunuzda 3 saatlik iş birkaç dakikaya iner; çıktıyı to_excel yerine Parquet olarak da saklarsanız arşiv sorguları çok hızlanır.
27.06.2026 18:19