Python
Ö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.
Örnek çözümü göster
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"]))
Kendini test et
-
Sözlük olarak CSV okumak için hangi metot?
- csv.writer
- csv.reader
- csv.DictReader
- csv.DictWriter
Cevabı göster
csv.DictReader — Seçim yanlış. Doğru cevap: csv.DictReader. Sözlük olarak okuyan metot budur.
-
json.dump dosyaya yazar
import json
data = {"ad": "Veli"}
with open("v.txt", "w", encoding="utf-8") as f:
json.____(data, f, ensure_ascii=False)
Cevabı göster
import json
data = {"ad": "Veli"}
with open("v.txt", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False)
-
Modüllerin kullanımını eşleştir
- csv.reader
- CSV satırı liste
- csv.DictReader
- CSV satırı sözlük
- json.load
- Dosyadan okuma
- json.dumps
- Dizeye yazma
Sıradaki ders: Path