Python’da JSON ve CSV Dosyalarıyla Çalışma

Python’da JSON ve CSV Dosyalarıyla Çalışma, Python, verilerin saklanması ve değiştirilmesi için yaygın olarak kullanılan iki dosya formatı olan JSON (JavaScript Object Notation) ve CSV (Comma-Separated Values) dosyalarını okuma ve yazma işlemleri için güçlü kütüphaneler sağlar. Bu formatlar, verileri depolamak ve diğer programlarla veri alışverişi yapmak için oldukça kullanışlıdır.

1. JSON Dosyalarıyla Çalışma

JSON, veri değişiminde yaygın olarak kullanılan hafif bir veri formatıdır. JSON verisi, anahtar-değer çiftlerinden oluşan bir yapıdadır ve Python’da doğrudan sözlük (dictionary) yapısı ile çalışılabilir.

a. JSON Dosyası Okuma

Python’da bir JSON dosyasını okumak için json modülü kullanılır. json.load() fonksiyonu, JSON formatındaki bir dosyayı okuyarak bir Python sözlüğüne dönüştürür.

Örnek:
import json

# JSON dosyasını okuma
with open("data.json", "r") as file:
data = json.load(file)

print(data)

Bu örnekte, data.json dosyası açılır ve içeriği bir Python sözlüğüne (data) dönüştürülür.

b. JSON Dosyasına Yazma

Python’da bir Python sözlüğünü JSON formatında bir dosyaya yazmak için json.dump() fonksiyonu kullanılır.

Örnek:
import json

# Python sözlüğü
data = {
"name": "John",
"age": 30,
"city": "New York"
}

# JSON dosyasına yazma
with open("data.json", "w") as file:
json.dump(data, file, indent=4)

Bu örnekte, data adlı Python sözlüğü data.json dosyasına JSON formatında yazılır. indent=4 parametresi, JSON dosyasını okunabilir kılmak için girintileme (indentation) sağlar.

c. JSON Dizesi ile Çalışma

Bir JSON dizesini Python sözlüğüne dönüştürmek için json.loads() ve bir Python sözlüğünü JSON dizesine dönüştürmek için json.dumps() kullanılır.

Örnek:
import json

# JSON dizesi
json_string = '{"name": "John", "age": 30, "city": "New York"}'

# JSON dizesini Python sözlüğüne dönüştürme
data = json.loads(json_string)
print(data)

# Python sözlüğünü JSON dizesine dönüştürme
json_data = json.dumps(data, indent=4)
print(json_data)

Bu örnekte, JSON dizesi bir Python sözlüğüne dönüştürülür ve ardından tekrar JSON dizesine dönüştürülür.

2. CSV Dosyalarıyla Çalışma

CSV dosyaları, verilerin satır ve sütunlar halinde saklandığı basit bir metin formatıdır. Her satır, bir veri kaydını temsil eder ve sütunlar arasında virgül (',') veya başka bir ayırıcı (örneğin, ';') kullanılır.

a. CSV Dosyası Okuma

Python’da bir CSV dosyasını okumak için csv modülü kullanılır. csv.reader() fonksiyonu, CSV dosyasını okuyarak satır satır bir iterable döner.

Örnek:
import csv

# CSV dosyasını okuma
with open("data.csv", "r") as file:
reader = csv.reader(file)
for row in reader:
print(row)

Bu örnekte, data.csv dosyası açılır ve her satır bir liste olarak döndürülür.

b. CSV Dosyasına Yazma

Python’da bir listeyi veya başka bir iterable’ı CSV formatında bir dosyaya yazmak için csv.writer() fonksiyonu kullanılır.

Örnek:
import csv

# Yazılacak veri
data = [
["Name", "Age", "City"],
["John", 30, "New York"],
["Anna", 22, "London"],
["Mike", 32, "San Francisco"]
]

# CSV dosyasına yazma
with open("data.csv", "w", newline='') as file:
writer = csv.writer(file)
writer.writerows(data)

Bu örnekte, data adlı liste data.csv dosyasına CSV formatında yazılır. newline='' parametresi, satır aralarında boşluk oluşmasını engeller.

c. CSV Sözlüğü ile Çalışma

csv.DictReader() ve csv.DictWriter() fonksiyonları, CSV dosyalarını Python sözlüğü olarak okumak ve yazmak için kullanılır.

Örnek: CSV Dosyasını Sözlük Olarak Okuma
import csv

# CSV dosyasını sözlük olarak okuma
with open("data.csv", "r") as file:
reader = csv.DictReader(file)
for row in reader:
print(dict(row))

Bu örnekte, data.csv dosyası sözlük olarak okunur. Her satır bir Python sözlüğü olarak döner.

Örnek: CSV Dosyasına Sözlük Olarak Yazma
import csv

# Yazılacak veri
data = [
{"Name": "John", "Age": 30, "City": "New York"},
{"Name": "Anna", "Age": 22, "City": "London"},
{"Name": "Mike", "Age": 32, "City": "San Francisco"}
]

# CSV dosyasına sözlük olarak yazma
with open("data.csv", "w", newline='') as file:
fieldnames = ["Name", "Age", "City"]
writer = csv.DictWriter(file, fieldnames=fieldnames)

writer.writeheader()
writer.writerows(data)

Bu örnekte, data adlı liste data.csv dosyasına sözlük olarak yazılır. fieldnames, CSV dosyasındaki sütun başlıklarını belirtir.

Python‘da JSON ve CSV dosyalarıyla çalışmak, verilerin depolanması, işlenmesi ve diğer sistemlerle paylaşılması için yaygın olarak kullanılır. JSON, yapılandırılmış veri değişimi için ideal bir formattır, CSV ise tablo verilerini saklamak için basit ve etkili bir yöntemdir. Python’un json ve csv modülleri, bu dosya formatlarıyla çalışmayı kolaylaştırır ve verilerin okunması, yazılması ve manipüle edilmesi için güçlü araçlar sunar.

Comments

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.