Cómo analizar CSV en Java
-
Analizar el CSV usando el
Scanner
en Java -
Analizar CSV usando
String.split()
en Java -
Analizar CSV usando
OpenCSV
en Java
Tocaremos el tema de analizar un CSV en Java. Veremos los diferentes métodos para hacer un análisis CSV en Java de la siguiente muestra de CSV en Java.
Analizar el CSV usando el Scanner
en Java
La primera y más clásica manera de analizar un archivo CSV es usando la clase Scanner
de Java. En el ejemplo, obtenemos el archivo usando File
y luego lo leemos con Scanner
.
Lo más importante que hay que notar en este ejemplo es que debemos conocer el separador utilizado en CSV. Usamos la coma en el CSV original como separador; por eso podemos especificar ,
como delimitador en el código.
import java.io.*;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws FileNotFoundException {
File getCSVFiles = new File("/test/example.csv");
Scanner sc = new Scanner(getCSVFiles);
sc.useDelimiter(",");
while (sc.hasNext()) {
System.out.print(sc.next() + " | ");
}
sc.close();
}
}
Resultado:
Id | UserName | Age | Job
1 | John Doe | 24 | Developer
2 | Alex Johnson | 43 | Project Manager
3 | Mike Stuart | 26 | Designer
4 | Tom Sean | 31 | CEO |
Analizar CSV usando String.split()
en Java
En el siguiente ejemplo, usamos un método split()
que funciona con la clase String
. Podemos usar BufferedReader
para leer el archivo CSV y hacer un bucle a través de él leyendo cada línea hasta que llegue a null
.
import java.io.*;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws FileNotFoundException {
String line = "";
final String delimiter = ",";
try {
String filePath = "/test/example.csv";
FileReader fileReader = new FileReader(filePath);
BufferedReader reader = new BufferedReader(fileReader);
while ((line = reader.readLine()) != null) // loops through every line until null found
{
String[] token = line.split(delimiter); // separate every token by comma
System.out.println(token[0] + " | " + token[1] + " | " + token[2] + " | " + token[3]);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Resultado:
Id | UserName | Age | Job
1 | John Doe | 24 | Developer
2 | Alex Johnson | 43 | Project Manager
3 | Mike Stuart | 26 | Designer
4 | Tom Sean | 31 | CEO
Analizar CSV usando OpenCSV
en Java
Varias bibliotecas pueden ayudarnos a analizar el CSV en Java. Una de ellas es OpenCSV
. En el siguiente ejemplo, CSVReader()
toma un FileReader
con el archivo CSV y luego devuelve un array de cadenas.
import com.opencsv.CSVReader;
import java.io.*;
import java.util.List;
import java.util.Scanner;
import java.util.Vector;
public class Main {
public static void main(String[] args) throws Exception {
try {
String filePath = "/test/example.csv";
FileReader fileReader = new FileReader(filePath);
CSVReader openCSVReader = new CSVReader(fileReader);
String[] record;
while ((record = openCSVReader.readNext()) != null) {
for (String token : record) {
System.out.print(token + "\t");
}
System.out.println();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Resultado:
Id UserName Age Job
1 John Doe 24 Developer
2 Alex Johnson 43 Project Manager
3 Mike Stuart 26 Designer
4 Tom Sean 31 CEO
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn