CSV dan JSON
Baca-tulis data terstruktur dengan modul csv dan json.
Pahami konsepnya
Modul csv membaca berkas CSV tanpa manual split koma (yang rapuh saat nilai berisi koma): csv.reader memberi list per baris, csv.DictReader memberi dict per baris dengan header sebagai kunci. Menulis: csv.writer dengan writerow(list).
Modul json mengubah Python ↔ JSON: json.dumps(obj) menghasilkan string JSON, json.loads(teks) mengubah string JSON jadi objek Python. Dump ke berkas: json.dump(obj, f, indent=2); baca dari berkas: json.load(f). Mapping tipe otomatis: dict↔object, list↔array, str↔string, int/float↔number, True/False↔true/false, None↔null.
CSV cocok untuk data tabular sederhana (ekspor spreadsheet); JSON untuk data bertingkat dan API modern. Keduanya ada di standard library — tanpa instalasi.
Coba contoh kode
import json
# Python → JSON → Python
data = {"nama": "Ari", "umur": 17, "hobi": ["coding", "game"]}
teks = json.dumps(data, indent=2)
print(teks)
kembali = json.loads(teks)
print(kembali["hobi"][0]) # coding
# JSON ke berkas
with open("data.json", "w") as f:
json.dump(data, f)
with open("data.json") as f:
hasil = json.load(f)
print(hasil["nama"])dumps dengan indent=2 menghasilkan JSON berformat rapi untuk dibaca manusia. loads membaca teks JSON kembali menjadi dict/list Python. dump/load bekerja langsung ke/dari berkas — tidak perlu read/write manual.
Latihan singkat
Uji: dumps/loads roundtrip — akses ["umur"], harus `17`.