Her ay onlarca Excel dosyasını açıp, kopyalayıp, tek dosyada birleştirip özet çıkarıyorsanız — bu işi bir daha hiç yapmanıza gerek yok. Python, tekrarlayan Excel işlerini saniyeler içinde bitirir. Bu rehberde birden çok dosyayı birleştirip biçimli bir özet rapor üreteceğiz.

1. Kurulum

pip install pandas openpyxl

pandas veriyi işlemek, openpyxl ise .xlsx dosyalarını okuyup yazmak için kullanılır.

2. Bir Excel dosyasını okuyun

Tek bir dosyayı okumak tek satır. df (DataFrame) artık tablonuzun tamamıdır ve üzerinde her türlü işlemi yapabilirsiniz.

import pandas as pd

df = pd.read_excel("ocak_satis.xlsx")
print(df.head())          # ilk 5 satır
print("Toplam ciro:", df["tutar"].sum())

3. Bir klasördeki tüm dosyaları birleştirin

Asıl güç burada başlıyor. Bir klasördeki bütün Excel dosyalarını okuyup tek tabloda birleştiriyoruz.

import pandas as pd
import glob

parcalar = []
for dosya in glob.glob("aylik_raporlar/*.xlsx"):
    tablo = pd.read_excel(dosya)
    tablo["kaynak_dosya"] = dosya      # hangi dosyadan geldiğini işaretle
    parcalar.append(tablo)

butun = pd.concat(parcalar, ignore_index=True)
print("Birleşen satır sayısı:", len(butun))
💡

glob, bir desene uyan dosyaları listeler. aylik_raporlar/*.xlsx ifadesi o klasördeki tüm Excel dosyalarını seçer — 3 dosya da olsa 300 dosya da.

4. Özet çıkarın

Örneğin ürün bazında toplam satışı gruplayıp sıralayalım:

ozet = (butun
        .groupby("urun")["tutar"]
        .sum()
        .sort_values(ascending=False)
        .reset_index())

print(ozet.head(10))

5. Biçimli rapor olarak kaydedin

Birden çok tabloyu tek Excel dosyasında ayrı sayfalara yazabilirsiniz. Böylece hem ham veri hem özet aynı dosyada durur.

with pd.ExcelWriter("aylik_ozet.xlsx", engine="openpyxl") as yazici:
    butun.to_excel(yazici, sheet_name="Ham Veri", index=False)
    ozet.to_excel(yazici, sheet_name="Ozet", index=False)

print("aylik_ozet.xlsx hazır ✔")

Bu scripti bir kez yazın; sonra her ay tek komutla çalıştırın. Elle yarım gün süren iş, birkaç saniyeye iner.

Daha ileri: otomatik çalıştırma

  • Scripti Windows Görev Zamanlayıcı ile her ayın 1'inde otomatik çalıştırabilirsiniz.
  • Raporu oluşturduktan sonra otomatik e-posta ile ilgili kişilere gönderebilirsiniz.
  • Hücre renklendirme, koşullu biçimlendirme ve grafik ekleme de openpyxl ile mümkündür.
  • Kaynak veriyi bir web sitesinden çekiyorsanız, önce web scraping adımını ekleyebilirsiniz.