Leer un archivo CSV

JavaBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderemos a leer un archivo CSV utilizando el lenguaje de programación Java. CSV (Comma Separated Values) es un formato de archivo utilizado para almacenar y intercambiar datos entre sistemas. Utilizaremos dos métodos para leer el archivo CSV: utilizando la biblioteca OpenCSV y utilizando la clase Scanner.

Importar bibliotecas

Necesitaremos importar las dependencias de las bibliotecas para utilizar las clases OpenCSV y Scanner en nuestro código. En el archivo CSVReader.java, agregue el siguiente código al principio del archivo:

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
import com.opencsv.CSVReader;

Leer un archivo CSV utilizando la biblioteca OpenCSV

Podemos utilizar la biblioteca OpenCSV para leer el archivo CSV. El siguiente fragmento de código muestra cómo leer un archivo CSV utilizando OpenCSV.

try {
    FileReader fileReader = new FileReader("students.csv");
    CSVReader csvReader = new CSVReader(fileReader);
    String[] nextRecord;
    while ((nextRecord = csvReader.readNext())!= null) {
        System.out.println(nextRecord[0] + " " + nextRecord[1] + " " + nextRecord[2]);
    }
    csvReader.close();
} catch (IOException e) {
    System.out.println(e.getMessage());
}

Guarde los cambios y ejecute el siguiente comando en la terminal para compilar y ejecutar el código:

javac CSVReader.java && java CSVReader

Este código leerá el archivo CSV denominado students.csv en el directorio actual y mostrará los datos CSV en la consola.

Leer un archivo CSV utilizando la clase Scanner

También podemos utilizar la clase Scanner para leer el archivo CSV. El siguiente fragmento de código muestra cómo hacerlo:

try {
    File file = new File("students.csv");
    Scanner scanner = new Scanner(file);
    scanner.useDelimiter(",");
    while (scanner.hasNext()) {
        System.out.print(scanner.next() + " ");
    }
    scanner.close();
} catch (FileNotFoundException e) {
    System.out.println(e.getMessage());
}

En este ejemplo, estamos utilizando la clase Scanner para leer un archivo llamado students.csv y especificando un delimitador , para separar los valores CSV.

Guarde los cambios y ejecute el siguiente comando en la terminal para compilar y ejecutar el código:

javac CSVReader.java && java CSVReader

Este código leerá el archivo CSV denominado students.csv en el directorio actual y mostrará los datos CSV en la consola.

Resumen

En este laboratorio, aprendimos a leer un archivo CSV utilizando el lenguaje de programación Java. Utilizamos dos métodos para leer el archivo CSV: utilizando la biblioteca OpenCSV y utilizando la clase Scanner. La biblioteca OpenCSV ofrece una forma conveniente de leer el archivo CSV pero requiere una dependencia externa. La clase Scanner ofrece una forma simple de leer el archivo CSV pero tiene algunas limitaciones al manejar estructuras CSV complejas.