csv.reader
- Python kursu
- Orta seviye
- Ders 70/116
- 5 dk
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
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
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
import csv
with open("uyeler.csv", encoding="utf-8", newline="") as f:
reader = csv.____(f)
for row in reader:
print(row)
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 |