Leer un archivo CSV

JavaJavaBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("User Input") java/FileandIOManagementGroup -.-> java/files("Files") java/FileandIOManagementGroup -.-> java/read_files("Read Files") java/FileandIOManagementGroup -.-> java/io("IO") subgraph Lab Skills java/user_input -.-> lab-117442{{"Leer un archivo CSV"}} java/files -.-> lab-117442{{"Leer un archivo CSV"}} java/read_files -.-> lab-117442{{"Leer un archivo CSV"}} java/io -.-> lab-117442{{"Leer un archivo CSV"}} end

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.