Conceptos básicos de JSON con Tablesaw

Importación de datos en Java

Anthony Markham

VP Quant Developer

Introducción a JSON

  • JSON: JavaScript Object Notation
    • Formato ligero de intercambio de datos
    • Formato estándar para APIs web
    • Estructura de pares clave-valor

imagen_json.jpg

Importación de datos en Java

Datos tabulares

  • Filas y columnas fijas
  • Tabular: Tipos de datos uniformes
| Nombre | Edad | Ciudad  |
|--------|------|---------|
| Alice  | 30   | Boston  |
| Bob    | 25   | Seattle |

JSON

  • Estructuras anidadas flexibles
  • Tipos de datos mixtos y jerarquías
[
  {"name": "Alice", 
      "age": 30, 
      "address": {"city": "Boston", 
                  "state": "MA"}},
  {"name": "Bob", 
      "age": 25, 
      "address": {"city": "Seattle", 
                  "state": "WA"}}
]
Importación de datos en Java

Leyendo JSON

  • Usar solo para archivos JSON simples
// Método simple para leer un archivo JSON
Table products = Table.read().file("products.json");

$$

import tech.tablesaw.io.json.JsonReader;
import tech.tablesaw.io.json.JsonReadOptions;
  • Ofrece configuración adicional
// Leer un archivo JSON usando JsonReadOptions
JsonReadOptions options = JsonReadOptions.builder("products.json").build();

Table products = new JsonReader().read(options);
Importación de datos en Java

Accediendo a datos JSON

  • Métodos familiares de Tablesaw funcionan
// Acceder a columnas de datos JSON
StringColumn names = table.stringColumn("name");
DoubleColumn prices = table.doubleColumn("price");

// Realizar cálculos double avgPrice = prices.mean(); String mostExpensive = table .where(prices.isEqualTo(prices.max())) .stringColumn("name").get(0);
Importación de datos en Java

Mejores prácticas JSON - validación

  • Validar la estructura JSON antes de procesar
// Validación y manejo de errores
try {
    JsonReadOptions options = JsonReadOptions.builder("data.json").build();
    Table data = new JsonReader().read(options);
    if (data.rowCount() > 0) {
        // Procesar datos
    }
} catch (Exception e) {
    System.err.println("Error al leer JSON: " + e.getMessage());
}
if (data.rowCount() == 100) {
    System.out.println("La tabla tiene exactamente 100 filas - procesando datos");
}
Importación de datos en Java

Mejores prácticas JSON - valores faltantes

  • Manejar valores nulos/faltantes
// Eliminar filas con valores faltantes
data = data.dropRowsWithMissingValues();
  • Ajustar tipos de datos según necesidades de análisis
// Convertir columna de enteros a doble para cálculos
data = data.replaceColumn("price", data.intColumn("price").asDoubleColumn());
Importación de datos en Java

¡Vamos a practicar!

Importación de datos en Java

Preparing Video For Download...