Notions de base sur les données JSON avec Tablesaw

Importer des données en Java

Anthony Markham

VP Quant Developer

Introduction à JSON

  • JSON : JavaScript Object Notation
    • Format léger d'échange de données
    • Format standard des API Web
    • Structure en paires clé‑valeur

Image JSON

Importer des données en Java

Données tabulaires

  • Lignes et colonnes fixes
  • Tabulaire : types de données uniformes
| Name  | Age | City    |
|-------|-----|---------|
| Alice | 30  | Boston  |
| Bob   | 25  | Seattle |

JSON

  • Structures imbriquées flexibles
  • Types de données et hiérarchies mixtes
[
  {"name": "Alice", 
      "age": 30, 
      "address": {"city": "Boston", 
                  "state": "MA"}},
  {"name": "Bob", 
      "age": 25, 
      "address": {"city": "Seattle", 
                  "state": "WA"}}
]
Importer des données en Java

Lire du JSON

  • À utiliser seulement pour des fichiers JSON simples
// Méthode simple pour lire un fichier JSON
Table products = Table.read().file("products.json");

$$

import tech.tablesaw.io.json.JsonReader;
import tech.tablesaw.io.json.JsonReadOptions;
  • Offre des options de configuration supplémentaires
// Lecture d'un fichier JSON avec JsonReadOptions
JsonReadOptions options = JsonReadOptions.builder("products.json").build();

Table products = new JsonReader().read(options);
Importer des données en Java

Accéder aux données JSON

  • Les méthodes Tablesaw habituelles fonctionnent
// Accéder aux colonnes à partir de données JSON
StringColumn names = table.stringColumn("name");
DoubleColumn prices = table.doubleColumn("price");

// Faire des calculs double avgPrice = prices.mean(); String mostExpensive = table .where(prices.isEqualTo(prices.max())) .stringColumn("name").get(0);
Importer des données en Java

Bonnes pratiques JSON – validation

  • Valider la structure JSON avant le traitement
// Validation et gestion des erreurs
try {
    JsonReadOptions options = JsonReadOptions.builder("data.json").build();
    Table data = new JsonReader().read(options);
    if (data.rowCount() > 0) {
        // Traiter les données
    }
} catch (Exception e) {
    System.err.println("Error reading JSON: " + e.getMessage());
}
if (data.rowCount() == 100) {
    System.out.println("Table has exactly 100 rows - processing data");
}
Importer des données en Java

Bonnes pratiques JSON – valeurs manquantes

  • Gérer les valeurs manquantes/nulles
// Retirer les lignes avec au moins une valeur manquante
data = data.dropRowsWithMissingValues();
  • Adapter les types de données aux besoins d'analyse
// Convertir une colonne d'entiers en double pour les calculs
data = data.replaceColumn("price", data.intColumn("price").asDoubleColumn());
Importer des données en Java

Passons à la pratique !

Importer des données en Java

Preparing Video For Download...