# Working with CSV, JSON, and Tables

> Source: https://sukruyusufkaya.com/en/learn/claude-ustaligi/csv-json-tablo
> Updated: 2026-05-11T13:48:33.804Z
> Category: Claude Ustalığı
> Module: 6. Data Analysis and Research
**TLDR:** Reliably process tabular data with Claude: cleaning, transforming, validating, generating control code, and verifying the result.

> **Asla doğrudan güvenme**
>
> LLM tablo verisini metin olarak görür. Hesaplamayı modelden değil **kod sandbox'tan** isteyin. Modül 7'de tool use ile bunu otomatize edeceğiz.

# 4 Adımlı Tablo İş Akışı

1. **Şema oku** — kolonlar, tipler, boşluklar.
2. **Temizlik & dönüşüm** — Claude **kod yazsın**, sandbox çalıştırsın.
3. **Analiz** — istatistik, gruplama, aggregation.
4. **Doğrulama** — sayıların ikinci bir kanaldan gelmesi (Excel formülü, başka script, manuel).

```text
<role>Veri analisti.</role>

<dataset>
Aşağıda son 30 günlük abonelik verisinin ilk 5 satırı ve şema:

date,user_id,plan,country,mrr_usd
2026-04-12,U-1029,pro,TR,29
2026-04-12,U-1030,premium,DE,99
...

Toplam satır: 4,217.
</dataset>

<rules>
- Önce kolonları ve tiplerini özetle.
- Boş veri / aykırı değer çıkar.
- Ay-ay churn oranını hesapla.
- Hesaplamayı **Python kod bloğu** olarak yaz; sayıları kendin söyleme.
- Kodun ne yaptığını adım adım açıkla.
</rules>

<output_format>
1) Şema özeti
2) Temizlik kodu
3) Analiz kodu
4) Beklenen çıktı tablosu (örnek)
5) Olası tuzaklar
</output_format>
```

```python
import io, csv

CSV = """date,user_id,plan,country,mrr_usd
2026-04-12,U-1029,pro,TR,29
2026-04-12,U-1030,premium,DE,99
2026-04-13,U-1031,pro,TR,29
2026-04-15,U-1029,pro,TR,0
2026-04-21,U-1032,pro,US,29
"""

reader = csv.DictReader(io.StringIO(CSV))
rows = list(reader)
print("Kolonlar:", list(rows[0].keys()))
print("Satır sayısı:", len(rows))

# Hızlı: TR planına göre toplam MRR
tr_mrr = sum(int(r["mrr_usd"]) for r in rows if r["country"] == "TR")
print("TR toplam MRR:", tr_mrr)
```

### Veri şeklini önce yaz

Tablonun ilk 5 satırını ve şemasını **prompt'a yapıştır**. Claude için doğru bağlam = doğru kod. Pek çok analiz hatası şema bilinmediği için olur.

### Büyük dosyalar nasıl?

200K token üstü tablolar için:

- Önce `head` ve `describe()` özetini ver.
- Sonra Claude'a sandbox'ta dosyayı okutmayı tarif et.
- Toplu hesabı kod sandbox'a yıkın, sadece sonuçları geri taşıyın.

### PII / hassas veri

Email, telefon, kimlik gibi alanları:

- **Hash'le** veya **mask'le** prompt'a koymadan önce.
- Claude'un düşük tier endpoint'inde (eğitime giden) çalışmıyorsan da aynı disiplini koru.

**Boşluk doldurma egzersizi (text):**
```text
Tablo iş akışında 4 adım: şema oku, _____ , analiz, _____ . Hesaplamayı Claude'un metninden değil _____ sandbox'tan iste.
```

> ✋ Kontrol noktası: `q-601-mc1`