Python CSV ve JSON İşlemleri: Veri Okuma ve Yazma Rehberi

Python CSV ve JSON Dosya İşlemleri

Python, popüler veri formatları olan CSV (Virgülle Ayrılmış Değerler) ve JSON (JavaScript Nesne Notasyonu) ile çalışmak için yerleşik kütüphanelere sahiptir. Bu formatlar, uygulamalar arası veri transferi ve veritabanı dışı depolama için standarttır.


1. JSON Dosyaları ile Çalışmak

JSON verileri Python'daki sözlük (dict) yapısına çok benzer. json modülü ile bu verileri kolayca dönüştürebiliriz.

JSON Yazma ve Okuma Örneği
import json

# Python sözlüğünü JSON dosyasına yazma
veri = {
    "kullanici": "ahmet_yılmaz",
    "seviye": 5,
    "aktif": True
}

with open("data.json", "w", encoding="utf-8") as f:
    json.dump(veri, f, indent=4, ensure_ascii=False)

# JSON dosyasını okuyup Python sözlüğüne çevirme
with open("data.json", "r", encoding="utf-8") as f:
    yuklenen_veri = json.load(f)
    print(yuklenen_veri["kullanici"]) # Çıktı: ahmet_yılmaz

2. CSV Dosyaları ile Çalışmak

CSV dosyaları genellikle Excel tablolarına benzer bir yapıda veri tutar. csv modülü bu verileri satır satır işlememizi sağlar.

CSV Yazma Örneği
import csv

# Listeyi CSV olarak kaydetme
basliklar = ["Ad", "Soyad", "Şehir"]
personel = [
    ["Ali", "Can", "İstanbul"],
    ["Ayşe", "Nur", "Ankara"],
    ["Mehmet", "Tekin", "İzmir"]
]

with open("rehber.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.writer(f)
    writer.writerow(basliklar)
    writer.writerows(personel)
CSV Okuma Örneği (DictReader)
import csv

# CSV'yi sözlük yapısında okuma (Daha kolay erişim sağlar)
with open("rehber.csv", "r", encoding="utf-8") as f:
    okuyucu = csv.DictReader(f)
    for satir in okuyucu:
        print(f"{satir['Ad']} personeli {satir['Şehir']} şehrinde yaşıyor.")

Önemli İpuçları

  • indent=4: JSON dosyasına yazarken verinin okunabilir (girintili) olmasını sağlar.
  • newline="": CSV yazarken satır aralarında boşluk oluşmasını engeller.
  • ensure_ascii=False: JSON içinde Türkçe karakterlerin doğru görünmesini sağlar.