Archivo CSV en Java [SOLUCIONADO]

En la programación con Java, trabajar con datos en formato CSV es algo común, especialmente cuando se trata de la gestión de grandes volúmenes de datos. Los archivos CSV (siglas de Comma Separated Values, que se traduce como Valores Separados por Comas) son una opción sencilla y ampliamente usada para almacenar la información en una forma tabular, similar a las hojas de cálculo y bases de datos. En este artículo, vamos a explorar distintas formas de interactuar con archivos CSV en Java, especialmente concentrándonos en cómo representar dichos datos en una matriz para su manipulación posterior.

Comenzaremos con las librerías que Java nos ofrece para manipular CSV. Una de estas es la librería OpenCSV. La librería propone un conjunto de APIs que permiten leer y escribir en un archivo CSV.

import com.opencsv.CSVReader;
import java.io.FileReader;
import java.util.Arrays;

public class LeerCSV {

    public static void main(String[] args) throws Exception {
        try (CSVReader csvReader = new CSVReader(new FileReader("datos.csv"));) {
            String[] valores = null;
            while ((valores = csvReader.readNext()) != null) {
                System.out.println(Arrays.toString(valores));
            }
        }
    }
}

Este código lee un archivo CSV y lo imprime en la consola. Sin embargo, querríamos almacenar estos datos en una matriz para su posterior manipulación. Entonces, podemos hacer lo siguiente:

import com.opencsv.CSVReader;
import java.io.FileReader;
import java.util.Arrays;
import java.util.List;

public class LeerCSV {

    public static void main(String[] args) throws Exception {
        try (CSVReader csvReader = new CSVReader(new FileReader("datos.csv"));) {
            List datos = csvReader.readAll();
            // los datos están almacenados en una lista de arreglos
        }
    }
}

En este caso, en vez de imprimir los valores, estamos almacenándolos dentro de una lista de arreglos. Para convertirlos a una matriz, simplemente tenemos que convertir esta lista a un arreglo de arreglos:

import com.opencsv.CSVReader;
import java.io.FileReader;
import java.util.Arrays;
import java.util.List;

public class LeerCSV {

    public static void main(String[] args) throws Exception {
        try (CSVReader csvReader = new CSVReader(new FileReader("datos.csv"));) {
            List listaDatos = csvReader.readAll();
            String[][] matrizDatos = listaDatos.toArray(new String[listaDatos.size()][]);
            // ahora, los datos están en una matriz
        }
    }
}

Es importante señalar que cada fila de la matriz corresponde a una fila del archivo CSV, y las columnas corresponden a las distintas comas de separación del CSV. Así, somos capaces de representar los datos del CSV de una manera bidimensional que nos permite manipular y explorar los datos de una forma más eficiente.

Esperamos que este recorrido por la gestión de archivos CSV en Java y la transformación de sus datos a matrices sea de utilidad para tus proyectos de programación. Como siempre, en la programación, hay múltiples soluciones para un mismo problema. Es posible que existan otras formas de representar estos datos, pero esperamos que esta sea una solución sencilla y efectiva para la mayoría de los casos.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad