← Kembali ke kursus
Pelajaran kursus · Python
Pelajaran 34

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`.