Python ile CSV/Excel okumak ve yazmak – pratik örnekler

CyberWolf

Astsubay Başçavuş
Admin
Katılım
23 Kasım 2025
Mesajlar
977
Reaksiyon puanı
63
2) Makale Metni

# Python ile CSV/Excel okumak ve yazmak – pratik örnekler

## Giriş: Neden Python ile CSV/Excel İşlemleri?

Günümüzün veri odaklı dünyasında, çeşitli kaynaklardan gelen verileri etkili bir şekilde işlemek kritik öneme sahiptir. CSV (Comma Separated Values) ve Excel (XLSX) dosyaları, işletmelerden araştırmacılara kadar birçok alanda yaygın olarak kullanılan veri depolama biçimleridir. Python, bu dosya türleriyle etkileşim kurmak için güçlü ve esnek araçlar sunar. Özellikle büyük veri setlerinin otomasyonu, temizlenmesi ve analizi söz konusu olduğunda, Python'ın sağladığı kolaylık ve hız paha biçilmezdir. Bu nedenle, veri mühendisleri, analistler ve yazılımcılar için Python ile CSV/Excel dosyalarını okuma ve yazma becerisi temel bir yetkinlik haline gelmiştir. Bu makale, bu süreçleri pratik örneklerle ele alarak okuyuculara kapsamlı bir bakış açısı sunmayı amaçlamaktadır.

## CSV Dosyalarını Okumaya Giriş: `csv` Modülü

Python'ın standart kütüphanesinde yer alan `csv` modülü, CSV dosyalarıyla çalışmak için temel bir araçtır. Bu modül, dosyayı satır satır okumanıza veya yazmanıza olanak tanır. Bir CSV dosyasını okurken, genellikle her satırı bir liste veya sözlük olarak temsil edebilirsiniz; bu, verileri programatik olarak erişilebilir hale getirir. Örneğin, bir satış raporunu analiz etmek istediğinizde, `csv.reader` objesi ile dosyayı açabilir ve her bir satırdaki bilgiyi, yani tarihi, ürünü ve satış miktarını ayrı ayrı işleyebilirsiniz. Bununla birlikte, bu modül ham veri üzerinde daha fazla işlem gerektirebilir; ancak basit ve hızlı okuma ihtiyaçları için oldukça kullanışlıdır. Özellikle büyük dosyalarda belleği etkin kullanma yeteneği sayesinde, performans açısından da avantajlar sunabilir.

## CSV Dosyalarına Yazmak: Basit Adımlar

Verileri işledikten veya yeni veri setleri oluşturduktan sonra, sonuçları CSV formatında kaydetmek sıklıkla karşılaşılan bir gereksinimdir. Python'ın `csv` modülü, bu işlemi de oldukça basit hale getirir. `csv.writer` objesi kullanarak, liste veya sözlük formundaki verilerinizi bir CSV dosyasına yazabilirsiniz. Bir örnek vermek gerekirse, kullanıcıdan alınan bilgileri veya bir veri tabanından çekilen sonuçları yeni bir CSV dosyasına aktarabilirsiniz. Önce bir dosya açılır, ardından `writer` objesi oluşturulur ve `writerow()` veya `writerows()` metotları ile veriler dosyaya eklenir. Başka bir deyişle, bu yöntemle verilerinizin virgülle ayrılmış bir şekilde düzenli bir dosya formatında saklanmasını sağlarsınız. Bu, özellikle küçük ve orta ölçekli veri setleri için hızlı ve etkili bir çözüm sunar.

## Pandas ile Excel/CSV Okumanın Gücü

Büyük ve karmaşık veri setleriyle çalışırken, Python'ın `pandas` kütüphanesi devreye girer. Pandas, özellikle veri analizi ve manipülasyonu için tasarlanmış, yüksek performanslı ve kullanımı kolay veri yapıları sunar. Excel ve CSV dosyalarını okuma konusunda, `read_csv()` ve `read_excel()` fonksiyonları ile son derece güçlü yetenekler sağlar. Bu fonksiyonlar, veri setini doğrudan bir DataFrame objesine dönüştürür. Örneğin, belirli sütunları seçmek, eksik verileri temizlemek veya veri tiplerini dönüştürmek gibi işlemleri tek bir satır kodla gerçekleştirebilirsiniz. Bununla birlikte, Pandas, farklı sayfaları okuma, belirli satırları veya sütunları atlama gibi gelişmiş seçenekler de sunarak veri alım sürecini oldukça esnek hale getirir. Bu nedenle, ciddi veri işleme projelerinde vazgeçilmez bir araçtır.

## Pandas ile Excel Dosyalarına Yazma Teknikleri

Verileri işledikten sonra, sonuçları Excel formatında kaydetmek, özellikle raporlama ve paylaşım süreçlerinde oldukça yaygındır. Pandas DataFrame'leri, `to_excel()` metodu sayesinde bu görevi zahmetsizce yerine getirir. Bu metot, DataFrame'inizi doğrudan bir Excel dosyasına dönüştürürken, sayfa adı belirleme, indeks sütununu dışarıda bırakma veya formatlama gibi birçok özelleştirme seçeneği sunar. Ek olarak, `ExcelWriter` objesini kullanarak aynı Excel dosyasına birden fazla DataFrame'i farklı sayfalara yazabilirsiniz. Bu, özet raporları veya detaylı veri setlerini tek bir Excel dosyasında düzenli bir şekilde birleştirmek için idealdir. Başka bir deyişle, Pandas, sadece veri okumada değil, aynı zamanda işlenmiş verileri kullanıcı dostu ve düzenli bir şekilde sunmada da önemli bir kolaylık sağlar.

## Veri Temizleme ve Dönüştürme: Pratik İpuçları

Ham veriler genellikle eksik değerler, yanlış formatlar veya tutarsız girişler içerir. Python ve Pandas, bu sorunları gidermek için kapsamlı araçlar sunar. Örneğin, `dropna()` metodu ile eksik değer içeren satırları veya sütunları kolayca kaldırabilirsiniz. Ayrıca, `fillna()` ile eksik değerleri ortalama, medyan veya belirli bir sabit değerle doldurabilirsiniz. Veri tiplerini dönüştürmek (örneğin, metni sayıya çevirmek) için `astype()` metodu kullanılırken, tarih formatlarını standartlaştırmak için `to_datetime()` fonksiyonu devreye girer. Bu nedenle, verilerinizi analiz etmeye başlamadan önce bu temizleme ve dönüştürme adımlarını uygulamak, sonuçlarınızın doğruluğunu ve güvenilirliğini önemli ölçüde artırır. Bu pratik ipuçları, veri analizi sürecinin temelini oluşturur ve doğru kararlar almanıza yardımcı olur.

## Gelişmiş Kullanım Senaryoları ve İpuçları

Python ile CSV/Excel işlemleri sadece temel okuma ve yazma ile sınırlı değildir; daha gelişmiş senaryolar için de güçlü çözümler sunar. Örneğin, otomatik raporlama sistemleri kurmak için bu yetenekleri kullanabilirsiniz. Belirli aralıklarla güncellenen Excel dosyalarını okuyabilir, verileri işleyebilir ve yeni raporları otomatik olarak oluşturup e-posta ile gönderebilirsiniz. Büyük veri setlerinde bellek optimizasyonu için chunking (parça parça okuma) teknikleri de oldukça faydalıdır; bu, dosyanın tamamını belleğe yüklemeden işlem yapmayı sağlar. Bununla birlikte, performans kritik uygulamalarda `pyarrow` veya `openpyxl` gibi kütüphanelerin daha derinlemesine kullanılması da düşünülebilir. Başka bir deyişle, Python'ın sunduğu esneklik ve zengin kütüphane ekosistemi, veriyle ilgili hemen her türlü otomasyon ve analiz ihtiyacınızı karşılayacak potansiyele sahiptir.
 
Geri
Üst Alt