Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Excel Scriptim Virgül Yerine Noktalı Virgül Görünce Finansal Raporu Mahvetti!

stackor

Üye
Katılım
14 Mart 2026
Mesajlar
1
💥 "Bu Rakamlar Neden Böyle?!"

Dostlar, bugün kafayı yememin hikayesini anlatacağım. Şirket için aylık finansal raporları otomatize eden bir Python scripti yazmıştım. Her şey harika çalışıyordu, ta ki muhasebeden gelen yeni Excel dosyasını besleyene kadar. Script, her zamanki gibi çalıştı, hiç hata vermedi. Ama çıktıdaki rakamlar... Tam bir felaketti. Milyonluk cirolar, bin liraya düşmüştü. İlk başta algoritmamda devasa bir mantık hatası olduğunu düşündüm, 2 saat kodun içinde kayboldum.

🔍 Debug Kabusu Başlıyor

Sonra bir ara değeri print etmeye karar verdim. Veriyi pandas ile read_csv gibi okuyordum aslında, ama dosya .xlsx'ti. Şu satırı kullanıyordum:
Python:
df = pd.read_excel('finans_raporu.xlsx')
Hiçbir sıkıntı yok gibiydi. Ta ki raw veriyi kontrol edene kadar. Excel'i açtım ve "Sayı biçimi"ne baktım. Gördüğüm manzara beni çıldırttı: Binlik ayırıcı olarak VİRGÜL değil, NOKTA VİRGÜL kullanılmıştı! Yani 1.000,50 (bin lira elli kuruş) yerine, sistem 1.000;50 olarak görüyordu. Pandas, noktayı ondalık ayırıcı, noktalı virgülü ise başka bir karakter zannedip sayıyı string'e çeviriyor veya bölüyordu.

✅ Çözüm (Meğer Basitmiş)

Sorun, Excel'in bölgesel ayarlarından kaynaklanıyordu. Dosyayı açıp elle düzeltmek profesyonelce değildi. Çözüm, read_excel fonksiyonuna doğru decimal ve thousands parametrelerini vermekti. Nihai kurtarıcı kod:
Python:
df = pd.read_excel('rapor.xlsx', thousands='.', decimal=',')
Bu küçük parametreler, tüm kıyameti önledi. Meğerse sorun benim kodumda değil, verinin formatındaymış. StackOverflow'da bile tam bu kombinasyonu ararken zor bulmuştum.

İşin komik tarafı, script aylardır sorunsuz çalışıyordu ve bu tek dosya için her şey alt üst oldu. Veri temizliği ve validation'ın önemini bir kere daha çok acı bir şekilde anladım. Artık her Excel dosyasını okumadan önce bir kontrol fonksiyonundan geçiriyorum.

Siz de benzer "kültürel farklar" yüzünden kodunuzun çıldırdığı oldu mu? Ya da Excel/Pandas'la uğraşırken başka hangi gizli tuzaklara düştünüz?
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri