CSV ve JSON Dönüşümü: Verileri Kolayca Formatlama Yöntemleri
CSV ve JSON veri formatları nedir? İki format arasındaki temel farklar, veri dönüştürme yöntemleri ve Excel/API uyumluluğu için ipuçları.
Veri analizi, yazılım geliştirme ve iş raporlamaları süreçlerinde farklı veri formatları arasında dönüşüm yapmak en sık karşılaşılan rutinlerden biridir. Bu formatların başında, sadeliği ile bilinen CSV (Comma-Separated Values) ile web dünyasının standart veri dili olan JSON (JavaScript Object Notation) gelir.
Bu yazıda, CSV ve JSON formatlarının ne olduğunu, aralarındaki farkları ve bu iki format arasında en güvenli ve hızlı şekilde nasıl dönüşüm yapabileceğinizi inceleyeceğiz.
CSV Nedir?
CSV, "Virgülle Ayrılmış Değerler" anlamına gelen, verileri satır ve sütunlar halinde düz bir metin dosyasında saklayan oldukça basit bir veri formatıdır. Her satır bir veri kaydını (record), her virgülden sonrası ise o kaydın bir alanını (field) temsil eder.
Örnek bir CSV çıktısı:
isim,yas,sehir,meslek
Ahmet,30,Istanbul,Yazilimci
Elif,25,Ankara,Tasarimci
Can,28,Izmir,Analist
CSV dosyaları Microsoft Excel, Google Sheets gibi e-tablo yazılımları tarafından doğrudan açılıp kolayca düzenlenebildiği için iş dünyasında, veri raporlamalarında ve toplu veri yüklemelerinde (import/export) sıklıkla tercih edilir.
JSON Nedir?
JSON, "JavaScript Nesne Gösterimi" anlamına gelen, anahtar-değer (key-value) çiftlerini ve dizileri kullanan, hem insanlar tarafından okunması kolay hem de makineler tarafından ayrıştırılması hızlı olan hiyerarşik bir veri formatıdır.
Aynı verinin JSON formatındaki karşılığı:
[
{
"isim": "Ahmet",
"yas": 30,
"sehir": "Istanbul",
"meslek": "Yazilimci"
},
{
"isim": "Elif",
"yas": 25,
"sehir": "Ankara",
"meslek": "Tasarimci"
},
{
"isim": "Can",
"yas": 28,
"sehir": "Izmir",
"meslek": "Analist"
}
]
JSON, karmaşık ve iç içe geçmiş (nested) veri yapılarını desteklediği için modern web API'lerinde, veritabanlarında (örneğin MongoDB) ve konfigürasyon dosyalarında standart olarak kullanılır.
CSV ve JSON Arasındaki Farklar
- Yapı: CSV sadece iki boyutlu, düz satır-sütun (tablo) yapısını destekler. JSON ise iç içe geçmiş nesneleri ve dizileri barındırabilen çok boyutlu, hiyerarşik bir yapı sunar.
- Okunabilirlik: Excel kullanıcıları için CSV çok daha rahat okunabilir ve düzenlenebilirdir. Geliştiriciler ve API servisleri için ise JSON çok daha esnek ve anlamlıdır.
- Veri Tipi Desteği: CSV'de tüm değerler düz metin (string) olarak saklanır. JSON'da ise
string,number,boolean,null,array(dizi) veobject(nesne) gibi veri tipleri doğrudan tanınır. - Boyut: CSV formatında anahtar (sütun başlığı) isimleri sadece ilk satırda bir kez yazıldığı için dosya boyutu JSON'a göre genellikle çok daha küçüktür. JSON'da ise her bir kayıt için anahtar isimleri tekrar edilir.
CSV ve JSON Arasında Dönüşüm Yöntemleri
Neden Dönüştürürüz?
- Excel'de hazırladığınız bir müşteri listesini, web uygulamanızın API'sine yüklemek için CSV'den JSON'a dönüştürmeniz gerekebilir.
- Bir veritabanından veya API'den indirdiğiniz karmaşık JSON çıktısını, pazarlama ekibinin Excel'de analiz edebilmesi için JSON'dan CSV'ye çevirmeniz gerekebilir.
En Kolay Dönüşüm Yolu
Harici programlar kurmakla veya Python/JavaScript scriptleri yazmakla uğraşmadan, doğrudan web tarayıcınız üzerinden güvenli bir şekilde dönüşüm yapabilirsiniz.
Sitemizde bulunan CSV to JSON ve JSON to CSV araçları, bu dönüşümleri saniyeler içinde gerçekleştirmenizi sağlar:
- CSV dosyalarınızı yapıştırıp anında JSON dizisine çevirebilirsiniz.
- JSON verilerinizi yapıştırıp, iç içe geçmiş yapıları düzleştirerek (flattening) temiz bir CSV tablosuna dönüştürebilirsiniz.
Dönüşüm Yaparken Dikkat Edilmesi Gerekenler
- Karakter Kodlaması (Encoding): Türkçe karakterlerin (ş, ı, ğ, ç, ö, ü) bozulmaması için dönüştürme ve kaydetme işlemlerinde dosya kodlamasının her zaman
UTF-8olduğundan emin olun. - Ayırıcı Karakterler: CSV standart olarak virgül (
,) kullansa da bazı sistemler noktalı virgül (;) veya tab (\t) karakterlerini kullanabilir. Dönüştürücü aracınızda ayırıcı karakteri seçebildiğinizden emin olun. - İç İçe Geçmiş Nesneler (Nested JSON): JSON verisini CSV'ye dönüştürürken iç içe geçmiş nesneler varsa, bu verilerin düzleştirilmesi gerekir. Örneğin,
{ "adres": { "sehir": "Istanbul" } }yapısı CSV'deadres.sehirbaşlığı altına getirilir.