Python
csv.writer
csv.writer ile CSV yazmayı öğrenirsin.
csv.writer ile satır yazma
CSV dosyasına yazmak için csv.writer(f) ile bir yazıcı nesnesi oluşturursun. writerow(["ad", "yas"]) tek bir satırı yazar; writerows([["Ayşe", 30], ["Ali", 25]]) ise birden çok satırı tek çağrıda yazar.
Yazıcı, değerleri virgülle ayırır ve gerektiğinde tırnak içine alır; örneğin değer virgül içeriyorsa "Ahmet, Kıdemli" gibi çift tırnakla yazar. Bu, dosyanın tekrar okunmasını güvenli kılar. Elle virgül ve tırnakla uğraşmazsın.
writerows ile toplu yazma
Birden çok satırı tek seferde yazmak için writerows metodunu kullanırsın. Parametre, her öğesi bir satır olan bir listedir: writer.writerows([başlık, satır1, satır2]). Bu, döngü içinde writerow çağırmaktan kısadır.
Büyük veri yazarken writerows performans avantajı da sağlar; tek seferde tamponu boşaltır. Yine de çok büyük listelerde bellek tüketimine dikkat etmek gerekir; akıcı yazma için veriyi parça parça vermek daha iyidir.
Uygulama writerows ile iki satır yaz ve oku
Önce import csv satırını ekle. with open("urunler.csv", "w", encoding="utf-8", newline="") as f: bloğu içinde writer = csv.writer(f) yaz, sonra writer.writerows([["ad", "fiyat"], ["kalem", 5], ["defter", 10]]) ile üç satır (başlık dahil) yaz. Sonra with open("urunler.csv", "r", encoding="utf-8", newline="") as f: bloğu içinde rows = list(csv.reader(f)) ve print(len(rows)) ile satır sayısını yazdır.
Örnek çözümü göster
import csv
# writerows ile üç satır (başlık + iki veri) yaz
with open("urunler.csv", "w", encoding="utf-8", newline="") as f:
writer = csv.writer(f)
writer.writerows([["ad", "fiyat"], ["kalem", 5], ["defter", 10]])
# csv.reader ile oku, satır sayısını yazdır
with open("urunler.csv", "r", encoding="utf-8", newline="") as f:
rows = list(csv.reader(f))
print(len(rows))
Kendini test et
-
writerow metodunu tamamla
writer = csv.writer(f)
writer.____(["ad", "yas"])
Cevabı göster
writer = csv.writer(f)
writer.writerow(["ad", "yas"])
-
writer.writerows(...) ne kabul eder?
- Tek bir sayı
- Tek bir dize
- Satır listesi
- Bir sözlük
Cevabı göster
Satır listesi — Seçim yanlış. Doğru cevap: satır listesi. writerows birden çok satırı tek çağrıda yazar.
-
csv.writer kavramlarını eşleştir
- csv.writer
- Yazıcı nesne oluşturur
- writerow
- Tek satır yazar
- writerows
- Çok satır yazar
- newline=""
- Satır sonu ayarı
Sıradaki ders: DictReader ve DictWriter