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.
Bir yanıt yazın