CSV Dosyaları (Comma-Separated Values) ile çalışma, programlamada sık rastlanan bir görevdir ve birçok pratik uygulama da kendini gösterir. API'lerden veri alıyor veya envanter yönetimi yapıyor olsan — CSV dosyalarını okuma ve yazma yeteneği vazgeçilmezdir. Bu kılavuzda, Python ile etkili bir şekilde CSV dosyalarını nasıl işleyebileceğini öğreneceksin. CSV dosyalarının oluşturulması, verilerin okunması ve bu verilerin manipülasyonu üzerine bakacağız.
En Önemli Bilgiler
- Modül Genel Bakışı: Python, CSV okuyucu ve yazıcı sağlayan yerleşik bir CSV modülü sunar.
- Veri Yapısı: Verileri saklamak ve işlemek için hem listeler hem de sözlükler kullanabilirsin.
- Verimli G/Ç Yönetimi: Dosya erişimini yönetmek için with open(...) kullanarak dosyaların kapatılması hakkında endişelenmene gerek kalmaz.
Aşama Aşama Kılavuz
Klasör Oluşturma ve CSV Dosyası Yaratma
Başlangıçta boş bir klasör oluşturmalısın. Bu klasörde csvdateien.py adında bir dosya oluşturmalısın. Bu dosya, CSV dosyaları ile çalışmak için ana betiğin olacak.

Python dosyanın içinde, produkte.csv adını kullanarak CSV dosyasını oluşturabilirsin. Bu dosyada, Ürün ID, Ad, Fiyat ve Stok başlıklarına sahip sütunları tanımlayacaksın.

CSV dosyası örneğin şöyle görünebilir:
Ürün ID,Ad,Fiyat,Stok 1,iPad,399,50 2,Nerfgun,29.99,100
CSV Dosyasını Okuma
produkte.csv dosyasından veri okumak için CSV modülüne ihtiyaç duyacaksın. Modül, CSV verilerini verimli bir şekilde işlemeni sağlar. with open(...) kullanarak verileri okunabilir bir formata dönüştürebilirsin. Bu, dosya nesnelerinin manuel olarak kapatılmasını önler ve kodunu daha temiz ve güvenli hale getirir.
Sonraki aşamada bir CSV okuyucu oluşturuyorsun. Böylece dosyayı satır satır geçebilir ve verileri çıkarabilirsin:
with open('produkte.csv', newline='', encoding='utf-8') as csvfile: csvreader = csv.reader(csvfile) for row in csvreader: print(row)

Burada her satır bir liste olarak okunur, bu da verilerin beklenildiği gibi yapılandırıldığını gösterir. Her satır bir ürüne karşılık gelir ve ID, Ad, Fiyat ve Stok bilgilerini içerir.
Daha Sezgisel Veri İşleme İçin Sözlüklerin Kullanımı
Verileri daha basit ve sezgisel bir şekilde yönetmek için sözlük formatını kullanmalısın. Bir sözlük okuyucu ile, verilere erişimi alan adlarıyla kolaylaştırabilirsin.

Burada dosyayı açmak ve CSV okuyucu oluşturmak için yine with open(...) kullanmalısın. Okumak istediğin alanların bir listesini belirttiğinden emin ol:

Artık alanlara isimleri üzerinden kolayca erişebilirsin. Bu, işlemeni çok daha erişilebilir hale getirir.
CSV Dosyasını Yazma
Kendi verilerini bir CSV dosyasına yazmak için bir sözlük yazıcı nesnesi kullanabilirsin. Verilerini temsil eden bir sözlükler listesi oluşturma imkanın var.

Bir örnek olarak, süper kahramanların bir listesini CSV dosyası olarak nasıl kaydedebileceğinizi gösteren basit bir örnek:
with open('superhelden.csv', 'w', newline='') as csvfile: fieldnames = ['Ad', 'Takma Ad'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

superhelden.csv dosyası şimdi oluşturulacak ve süper kahramanların verilerini iyi yapılandırılmış, okunabilir bir formatta içerecektir.
Kapanış ve Pratik Uygulama
CSV dosyaları veri alışverişi için değerli bir araçtır ve pratikte sıklıkla gereklidir. Bu kılavuz, sana Python ile CSV dosyalarını işlemenin temellerini sunuyor. CSV dosyalarından verileri nasıl okuyacağınızı, bu verileri Python'da nasıl işleyeceğinizi ve kendi verilerinizi CSV formatına nasıl yazacağınızı öğrendin.
Özet – Python ile CSV Dosyalarının İşlenmesi
CSV dosyaları birçok uygulamada veri alışverişinin önemli bir formatıdır. Python ile bu dosyalarla verimli ve kolay bir şekilde çalışabilirsin. Temelleri anladıktan sonra bu teknikleri karmaşık veri uygulamalarına kolayca uygulayabilirsin.
Sıkça Sorulan Sorular
Python'da bir CSV dosyasını nasıl açabilirim?Bir CSV dosyasını Python'da with open('dosyaadi.csv', 'r'): ile açabilirsin.
Verileri bir CSV dosyasına nasıl yazabilirim?Bunun için csv.writer veya csv.DictWriter nesnesini kullanarak verileri formatlayıp dosyaya yazmalısın.
csv.reader ile csv.DictReader arasındaki fark nedir?csv.reader verileri listeler olarak okurken, csv.DictReader verileri alan adları anahtarları olan sözlükler olarak döker.
Bir CSV dosyasının başlığını nasıl belirleyebilirim?Başlık, bir CSV dosyası yazarken writeheader() ile yazarak belirtilebilir.
Özel alan adlarıyla bir CSV dosyasını nasıl okurum?Bir csv.DictReader oluştururken istediğin alan adları listesini geçirebilirsin.