CodeBlanks Logo Icon CodeBlanks

csv.reader

csv.reader ile CSV okumayı öğrenirsin.

csv.reader ile satır okuma

CSV (virgülle ayrılmış değerler) dosyaları, tablo verisini düz metin olarak tutar. Python'un csv modülü bu dosyaları kolayca okumanı sağlar. import csv ile modülü içe aktarırsın.

Okuma için önce dosyayı açar, sonra csv.reader(f) ile bir okuyucu nesnesi oluşturursun. Bu nesne üzerinde döngü kurduğunda her satırı bir liste olarak verir; sütunlar liste öğeleridir. Dosyayı açarken newline="" parametresini de yazman gerekir; bu satır sonu işaretlerinin çift işlenmesini önler.

newline parametresi neden önemli?

Dosyayı açarken newline="" parametresi CSV modülü için kritiktir. Bu parametre, Python'ın satır sonlarını otomatik dönüştürmesini kapatır; böylece csv modülü satır sonlarını kendi yöntemiyle işler.

Bunu yapmazsan Windows'ta satır sonu \r\n olur ve bazı satırlar boş gelebilir. encoding="utf-8" de Türkçe karakterleri güvende tutar. Bu yüzden CSV dosyaları için her zaman open("f.csv", encoding="utf-8", newline="") kullanılır.

Uygulama CSV dosyasını oku ve satır sayısını yazdır

Önce import csv satırını ekle. Sonra with open("uyeler.csv", "w", encoding="utf-8", newline="") as f: bloğu içinde f.write("ad,yas\n"), f.write("Ayşe,30\n") ve f.write("Ali,25\n") ile üç satır yaz. Sonra with open("uyeler.csv", "r", encoding="utf-8", newline="") as f: bloğu içinde reader = csv.reader(f) ve rows = list(reader) ile satırları listeye çevir. En son print(len(rows)) ile satır sayısını yazdır.

Başlangıç kodu

main.py
import csv

# CSV dosyasına üç satır yaz
# Aynı dosyayı csv.reader ile oku ve satır sayısını yazdır

Örnek çözüm

main.py
import csv

# CSV dosyasına üç satır yaz
with open("uyeler.csv", "w", encoding="utf-8", newline="") as f:
    f.write("ad,yas\n")
    f.write("Ayşe,30\n")
    f.write("Ali,25\n")
# Aynı dosyayı csv.reader ile oku ve satır sayısını yazdır
with open("uyeler.csv", "r", encoding="utf-8", newline="") as f:
    reader = csv.reader(f)
    rows = list(reader)
    print(len(rows))

Beklenen çıktı

3

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 csv.reader her satırı ne olarak verir?

  • Demet olarak
  • Liste olarak Doğru cevap
  • Sözlük olarak
  • Dize olarak

Açıklama: Her satırın sütunları liste öğeleridir.

2 csv.reader çağrısını tamamla

Soru
import csv

with open("uyeler.csv", encoding="utf-8", newline="") as f:
    reader = csv.____(f)
    for row in reader:
        print(row)
Cevap
import csv

with open("uyeler.csv", encoding="utf-8", newline="") as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

Açıklama: csv.reader(f) bir okuyucu nesnesi döndürür.

3 CSV kavramlarını eşleştir

Kavram Anlamı
csv.reader Satırları okur
row Tek satır verisi
newline="" Satır sonu ayarı
import csv Modülü içe aktarma

Orta seviye bölümündeki tüm dersler