Procesamiento de CSV con Tablesaw

Importación de datos en Java

Anthony Markham

VP Quant Developer

Lectura de archivos CSV

  • Lee archivos CSV con read().csv()
import tech.tablesaw.api.Table;
// Leer datos
Table dataTable = Table.read().csv("data.csv");
  • Detecta tipos de columnas automáticamente, creando un objeto Table estructurado 💡
Importación de datos en Java

Opciones de lectura CSV

  • Usa CsvReadOptions para más control
import tech.tablesaw.io.csv.CsvReadOptions;
CsvReadOptions options = CsvReadOptions.builder("data.csv")

.separator(';') // Usa punto y coma como delimitador
.header(true) // La primera fila contiene encabezados
.missingValueIndicator("N/A") // Trata "N/A" como dato faltante
.build();
// Carga la tabla usando las opciones personalizadas Table table = Table.read().csv(options);
Importación de datos en Java

Escritura de archivos CSV

  • Usa write().csv() para exportar CSV básico
  • Importado con la clase Table
  • Conserva tipos de columnas y estructura
  • Maneja caracteres especiales automáticamente
// Escribe dataTable a output.csv
dataTable.write().csv("output.csv");
Importación de datos en Java

Opciones de escritura CSV

  • Usa CsvWriteOptions para especificar opciones de escritura
CsvWriteOptions writeOptions = CsvWriteOptions
    .builder("output.csv")

.header(true) // Incluir encabezados de columna
.separator(';') // Usa punto y coma como delimitador
.quoteAlways(true) // Citar todos los campos
.lineEnd("\r\n") // Final de línea estilo Windows
.build();
// Escribe el CSV usando las opciones personalizadas
Table.write().csv(writeOptions);
Importación de datos en Java

Flujo de trabajo CSV

  • Flujo completo: leer -> inspeccionar -> procesar -> escribir
  • Operaciones no destructivas (crea nuevos archivos) 📁
// Leer CSV, modificar y escribir de nuevo
Table students = Table.read().csv("students.csv");

// Ver estructura
System.out.println(students.structure());

// Guardar como nuevo archivo
students.write().csv("students_processed.csv");
Importación de datos en Java

¡Vamos a practicar!

Importación de datos en Java

Preparing Video For Download...