Dasar-dasar data JSON dengan Tablesaw

Mengimpor Data di Java

Anthony Markham

VP Quant Developer

Pengenalan JSON

  • JSON: JavaScript Object Notation
    • Format pertukaran data yang ringan
    • Format standar API web
    • Struktur pasangan kunci-nilai

gambar_json.jpg

Mengimpor Data di Java

Data tabular

  • Baris dan kolom tetap
  • Tabular: Tipe data seragam
| Nama  | Umur | Kota    |
|-------|-----|---------|
| Alice | 30  | Boston  |
| Bob   | 25  | Seattle |

JSON

  • Struktur bersarang yang fleksibel
  • Tipe data campuran dan hierarki
[
  {"name": "Alice", 
      "age": 30, 
      "address": {"city": "Boston", 
                  "state": "MA"}},
  {"name": "Bob", 
      "age": 25, 
      "address": {"city": "Seattle", 
                  "state": "WA"}}
]
Mengimpor Data di Java

Membaca JSON

  • Gunakan hanya untuk file JSON sederhana
// Metode sederhana untuk membaca file JSON
Table products = Table.read().file("products.json");

$$

import tech.tablesaw.io.json.JsonReader;
import tech.tablesaw.io.json.JsonReadOptions;
  • Menawarkan konfigurasi tambahan
// Membaca file JSON menggunakan JsonReadOptions
JsonReadOptions options = JsonReadOptions.builder("products.json").build();

Table products = new JsonReader().read(options);
Mengimpor Data di Java

Mengakses data JSON

  • Metode Tablesaw yang dikenal berfungsi
// Akses kolom dari data JSON
StringColumn names = table.stringColumn("name");
DoubleColumn prices = table.doubleColumn("price");

// Lakukan perhitungan double avgPrice = prices.mean(); String mostExpensive = table .where(prices.isEqualTo(prices.max())) .stringColumn("name").get(0);
Mengimpor Data di Java

Praktik terbaik JSON - validasi

  • Validasi struktur JSON sebelum memproses
// Validasi dan penanganan kesalahan
try {
    JsonReadOptions options = JsonReadOptions.builder("data.json").build();
    Table data = new JsonReader().read(options);
    if (data.rowCount() > 0) {
        // Proses data
    }
} catch (Exception e) {
    System.err.println("Error membaca JSON: " + e.getMessage());
}
if (data.rowCount() == 100) {
    System.out.println("Tabel memiliki tepat 100 baris - memproses data");
}
Mengimpor Data di Java

Praktik terbaik JSON - nilai hilang

  • Tangani nilai yang hilang/null
// Hapus baris dengan nilai yang hilang
data = data.dropRowsWithMissingValues();
  • Sesuaikan tipe data dengan kebutuhan analisis
// Ubah kolom integer menjadi double untuk perhitungan
data = data.replaceColumn("price", data.intColumn("price").asDoubleColumn());
Mengimpor Data di Java

Ayo berlatih!

Mengimpor Data di Java

Preparing Video For Download...