logo

Cómo leer un archivo CSV en Java

El CSV representa Valores Separados por Comas . Es un formato de archivo simple que se utiliza para almacenar datos tabulares en forma de texto simple, como una hoja de cálculo o una base de datos. Los archivos en el CSV El formato se puede importar y exportar desde programas (Microsoft Office y Excel) que almacenan datos en tablas. El archivo CSV utilizaba un delimitador para identificar y separar diferentes tokens de datos en un archivo. El formato de archivo CSV se utiliza cuando movemos datos tabulares entre programas que operan de forma nativa en formatos incompatibles. Existen las siguientes formas de leer archivos CSV en Java. El separador predeterminado de un archivo CSV es un coma (,) .

cómo cambiar una cadena a int

Existen las siguientes formas de imprimir una matriz en Java:

  • Java Escáner clase
  • Java cadena.split() método
  • Usando AbiertoCSV API

Cómo crear un archivo CSV

Hay dos formas de crear un archivo CSV:

  • Usando Microsoft Excel
  • Usando Bloc

Usando Microsoft Excel

Paso 1: Abra Microsoft Excel.

Paso 2: Escriba los siguientes datos en el archivo:

Cómo leer un archivo CSV en Java

Paso 3: Ahora, guarde el archivo. Proporcionar el nombre del archivo CSVDemostración y seleccione CSV (delimitado por comas) en el Guardar como tipo menú. Ahora, haga clic en el botón Guardar.

Cómo leer un archivo CSV en Java

Usando el Bloc de notas

Paso 1: Abierto bloc .

Paso 2: Escriba algunos datos en un archivo separado por coma (,) . Por ejemplo:

Vivek, Singh, 23, 9999999, Chandigarh

Paso 3: Guarde el archivo con .csv extensión.

Hemos creado el siguiente archivo.

Cómo leer un archivo CSV en Java

Clase de escáner Java

Java Escáner La clase proporciona varios métodos mediante los cuales podemos leer el archivo CSV. La clase Scanner proporciona un constructor que produce valores escaneados desde el archivo especificado. Divide los datos en forma de token. Utiliza un patrón delimitador que de forma predeterminada coincide con los espacios en blanco. Los tokens resultantes luego se convirtieron en valores de diferentes tipos usando los métodos next().

Ejemplo

 import java.io.*; import java.util.Scanner; public class ReadCSVExample1 { public static void main(String[] args) throws Exception { //parsing a CSV file into Scanner class constructor Scanner sc = new Scanner(new File('F:\CSVDemo.csv')); sc.useDelimiter(','); //sets the delimiter pattern while (sc.hasNext()) //returns a boolean value { System.out.print(sc.next()); //find and returns the next complete token from this scanner } sc.close(); //closes the scanner } } 

Producción:

 Shashank, Mishra, Auditor, 909090090, 45000, Moti Vihar Naveen, Singh, Accountant, 213344455, 12000, Shastri Nagar Mahesh, Nigam, Sr. Manager, 787878878, 30000, Ashok Nagar Manish, Gupta, Manager, 999988765, 20000, Saket Nagar 

Método Java String.split()

Java cadena.split() identifica el delimitador y divide las filas en tokens.

Sintaxis

 public String[] split(String regex) 

El método analiza una expresión regular delimitadora. El método devuelve una matriz de cadenas calculadas dividiendo esta cadena entre coincidencias de la expresión regular dada.

Considere la cadena:

'esto es una mesa' expresión regular Resultado : {'esto es una mesa'}

Ejemplo

En el siguiente ejemplo, utilizamos la clase BufferedReader que lee el archivo línea por línea hasta alcanzar el carácter EOF (fin de archivo).

 import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class ReadCSVExample2 { public static void main(String[] args) { String line = ''; String splitBy = ','; try { //parsing a CSV file into BufferedReader class constructor BufferedReader br = new BufferedReader(new FileReader('CSVDemo.csv')); while ((line = br.readLine()) != null) //returns a Boolean value { String[] employee = line.split(splitBy); // use comma as separator System.out.println('Employee [First Name=' + employee[0] + ', Last Name=' + employee[1] + ', Designation=' + employee[2] + ', Contact=' + employee[3] + ', Salary= ' + employee[4] + ', City= ' + employee[5] +']'); } } catch (IOException e) { e.printStackTrace(); } } } 

Producción:

 Employee [First Name= Shashank, Last Name= Mishra, Designation= Auditor, Contact= 909090090, Salary= 45000, City= Moti Vihar] Employee [First Name= Naveen, Last Name=Singh, Designation= Accountant, Contact=213344455, Salary= 12000, City= Shastri Nagar] Employee [First Name= Mahesh, Last Name=Nigam, Designation= Sr. Manager, Contact=787878878, Salary= 30000, City= Ashok Nagar] Employee [First Name= Manish, Last Name=Gupta, Designation= Manager, Contact=999988765, Salary= 20000, City= Saket Nagar] 

Usando la API OpenCSV

OpenCSV es una API de terceros que proporciona bibliotecas estándar para leer varias versiones de archivos CSV. La biblioteca proporciona un mejor control para manejar el archivo CSV. La biblioteca también puede leer el formato de archivo TDF (archivo delimitado por tabulaciones).

Características de OpenCSV

  • Cualquier número de valores por línea.
  • Ignora las comas en los elementos entrecomillados.
  • Maneja entradas que abarcan varias líneas.

El Lector CSV La clase se utiliza para leer un archivo CSV. La clase proporciona un constructor de clase CSVReader para analizar un archivo CSV.

Sintaxis

 public CSVReder(Reader reader, char separator) OR public CSVReder(Reader reader) 

Parámetros

cadena de java

lector: El lector a una fuente CSV.

separador: Es un delimitador que se utiliza para separar entradas.

Pasos para leer un archivo CSV en eclipse:

Paso 1: Crea un archivo de clase con el nombre. LeerCSVEjemplo3 y escribe el siguiente código.

Paso 2: Crear un biblioteca carpeta en el proyecto.

Paso 3: Descargar opecsv-3.8.jar de

https://repo1.maven.org/maven2/com/opencsv/opencsv/3.8/opencsv-3.8.jar

sobrecarga de métodos

Etapa 4: Copia el opencsv-3.8.jar y péguelo en la carpeta lib.

Paso 5: Ahora, ejecuta el programa.

Ejemplo

 import java.io.FileReader; import com.opencsv.CSVReader; public class ReadCSVExample3 { public static void main(String[] args) { CSVReader reader = null; try { //parsing a CSV file into CSVReader class constructor reader = new CSVReader(new FileReader('F:\CSVDemo.csv')); String [] nextLine; //reads one line at a time while ((nextLine = reader.readNext()) != null) { for(String token : nextLine) { System.out.print(token); } System.out.print('
'); } } catch (Exception e) { e.printStackTrace(); } } } 

Producción:

 Shashank Mishra Auditor 909090090 45000 Moti Vihar Naveen Singh Accountant 213344455 12000 Shastri Nagar Mahesh NigamSr. Manager 787878878 30000 Ashok Nagar Manish Gupta Manager 999988765 20000 Saket Nagar 

Leyendo un archivo CSV con un separador diferente

En el siguiente archivo CSV, utilizamos punto y coma (;) para separar los tokens.

Cómo leer un archivo CSV en Java

Ejemplo

 import java.io.FileReader; import java.io.IOException; import com.opencsv.CSVReader; public class ReadCSVExample4 { public static void main(String[] args) { CSVReader reader = null; try { reader = new CSVReader(new FileReader('F:\CSVDemo.csv')); String [] nextLine; //read one line at a time while ((nextLine = reader.readNext()) != null) { for(String token : nextLine) { System.out.println(token); } System.out.print('
'); } } catch (Exception e) { e.printStackTrace(); } } } 

Producción:

 Shashank; Mishra; Auditor; 909090090; 45000; Moti Vihar Naveen; Singh; Accountant; 213344455; 12000; Shastri Nagar Mahesh; Nigam; Sr. Manager; 787878878; 30000; Ashok Nagar Manish; Gupta; Manager; 999988765; 20000; Saket Nagar