CodeBlanks Logo Icon CodeBlanks

Özet - CSV ve JSON

csv.DictReader ve json.dump'u birleştirerek bir ayar dosyası yazarsın.

Özet - CSV ve yapısal veri

Bu grupta CSV okuma/yazma ve yapısal veri biçimi işlemlerini öğrendin. CSV için csv.reader satırları liste, csv.DictReader sözlük olarak verir. Yazarken csv.writer ve writerow/writerows kullanılır.

Yapısal veri biçiminde dosya için json.load/json.dump, dize için json.loads/json.dumps kullanılır. Türkçe karakterler için ensure_ascii=False, okunaklı girinti için indent=2 parametreleri kullanışlıdır. Dosya açarken her zaman encoding="utf-8" önerilir.

Mini görev: yapıyı dosyaya yaz

Özet görevinde yapısal veriyi dosyaya yazıp geri yüklersin. Bir sözlük içinde bir liste tutarsın; bu, gerçek uygulamalarda sık görülen bir desendir. json.dump ile yazıp json.load ile okursun.

Görev, hem okuma-yazma döngüsünü hem de Türkçe karakter korumasını bir arada gösterir. Çıktı, geri yüklenen listedeki öğe sayısıdır; bu, verinin kayıpsız taşındığını kanıtlar.

Uygulama Liste içeren sözlüğü yaz ve oku

Önce import json satırını ekle. data = {"name": "Ayşe", "friends": ["Ali", "Veli"]} ile bir sözlük tanımla. with open("social.txt", "w", encoding="utf-8") as f: json.dump(data, f, ensure_ascii=False, indent=2) ile yaz. Sonra with open("social.txt", "r", encoding="utf-8") as f: loaded = json.load(f) ile geri oku. print(len(loaded["friends"])) ile arkadaş sayısını yazdır.

Başlangıç kodu

main.py
import json

# Veri sözlüğünü tanımla (içinde liste olsun)
# Dosyaya yaz, geri oku, liste uzunluğunu yazdır

Örnek çözüm

main.py
import json

# Veri sözlüğünü tanımla (içinde liste olsun)
data = {"name": "Ayşe", "friends": ["Ali", "Veli"]}
# Dosyaya yaz, geri oku, liste uzunluğunu yazdır
with open("social.txt", "w", encoding="utf-8") as f:
    json.dump(data, f, ensure_ascii=False, indent=2)
with open("social.txt", "r", encoding="utf-8") as f:
    loaded = json.load(f)
    print(len(loaded["friends"]))

Beklenen çıktı

2

Soru ve cevaplar

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

1 Sözlük olarak CSV okumak için hangi metot?

  • csv.writer
  • csv.reader
  • csv.DictReader Doğru cevap
  • csv.DictWriter

Açıklama: Seçim yanlış. Doğru cevap: csv.DictReader. Sözlük olarak okuyan metot budur.

2 json.dump dosyaya yazar

Soru
import json
data = {"ad": "Veli"}
with open("v.txt", "w", encoding="utf-8") as f:
    json.____(data, f, ensure_ascii=False)
Cevap
import json
data = {"ad": "Veli"}
with open("v.txt", "w", encoding="utf-8") as f:
    json.dump(data, f, ensure_ascii=False)

Açıklama: Dosyaya yazan metot dump'tır (s'siz).

3 Modüllerin kullanımını eşleştir

Kavram Anlamı
csv.reader CSV satırı liste
csv.DictReader CSV satırı sözlük
json.load Dosyadan okuma
json.dumps Dizeye yazma

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