logo

Hvordan lese CSV-fil i Java

De CSV står for Kommaseparerte verdier . Det er et enkelt filformat som brukes til å lagre tabelldata i enkel tekstform, for eksempel et regneark eller database. Filene i CSV format kan importeres til og eksporteres fra programmer (Microsoft Office og Excel) som lagrer data i tabeller. CSV-filen brukte et skilletegn for å identifisere og skille forskjellige datatoken i en fil. CSV-filformatet brukes når vi flytter tabelldata mellom programmer som har inkompatible formater. Det er følgende måter å lese CSV-fil i Java. Standardskilletegn for en CSV-fil er en komma (,) .

Det er følgende måter å skrive ut en matrise på i Java:

  • Java Skanner klasse
  • Java String.split() metode
  • Ved hjelp av Åpne CSV API

Hvordan lage en CSV-fil

Det er to måter å lage en CSV-fil på:

  • Ved hjelp av Microsoft Excel
  • Ved hjelp av Notisblokk

Bruker Microsoft Excel

Trinn 1: Åpne Microsoft Excel.

Steg 2: Skriv følgende data inn i filen:

du er spleis
Hvordan lese CSV-fil i Java

Trinn 3: Nå, lagre filen. Oppgi filnavnet CSVDemo og velg CSV (kommadelt) fra lagre som type Meny. Klikk nå på Lagre-knappen.

Hvordan lese CSV-fil i Java

Bruker Notisblokk

Trinn 1: Åpen notatblokk .

Steg 2: Skriv noen data inn i filen atskilt med komma (,) . For eksempel:

Vivek, Singh, 23, 9999999, Chandigarh

murer formel

Trinn 3: Lagre filen med .csv Utvidelse.

Vi har laget følgende fil.

Hvordan lese CSV-fil i Java

Java Scanner klasse

Java Skanner klasse gir ulike metoder som vi kan lese CSV-fil på. Skanner-klassen gir en konstruktør som produserer verdier skannet fra den angitte filen. Det bryter data inn i token-skjemaet. Den bruker et skilletegn som som standard samsvarer med mellomrom. De resulterende tokenene ble deretter konvertert til verdier av forskjellige typer ved å bruke next()-metodene.

Eksempel

 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 } } 

Produksjon:

 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 

Java String.split()-metoden

Java String.split() identifiserer skilletegnet og deler opp radene i tokens.

Syntaks

 public String[] split(String regex) 

Metoden analyserer et avgrensende regulært uttrykk. Metoden returnerer en rekke med streng beregnet ved å dele denne strengen rundt samsvar med det gitte regulære uttrykket.

Tenk på strengen:

'dette er et bord' Regex Resultat : {'dette er et bord'}

Eksempel

I det følgende eksempelet bruker vi BufferedReader-klassen som leser fil linje for linje til EOF-tegnet (end of file) er nådd.

 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(); } } } 

Produksjon:

algoritme for bfs
 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] 

Bruker OpenCSV API

OpenCSV er en tredjeparts API som gir standardbiblioteker for å lese ulike versjoner av CSV-filer. Biblioteket gir bedre kontroll for å håndtere CSV-filen. Biblioteket kan også lese filformatet TDF (Tab-Delimited File).

Funksjoner i OpenCSV

  • Et hvilket som helst antall verdier per linje.
  • Ignorerer kommaer i anførselstegn.
  • Håndterer oppføringer som spenner over flere linjer.

De CSV-leser klasse brukes til å lese en CSV-fil. Klassen gir CSVReader-klassekonstruktør for å analysere en CSV-fil.

Syntaks

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

Parametere

fibonacci-sekvens java

leser: Leseren til en CSV-kilde.

skilletegn: Det er et skilletegn som brukes for å skille oppføringer.

Trinn for å lese CSV-fil i formørkelse:

Trinn 1: Lag en klassefil med navnet LesCSVEeksempel3 og skriv følgende kode.

Steg 2: Lage en lib mappe i prosjektet.

Trinn 3: nedlasting opecsv-3.8.jar fra

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

Trinn 4: Kopier opencsv-3.8.jar og lim inn i lib-mappen.

nettverksoperativsystem

Trinn 5: Kjør programmet nå.

Eksempel

 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(); } } } 

Produksjon:

 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 

Leser CSV-fil med en annen skilletegn

I den følgende CSV-filen har vi brukt semikolon (;) for å skille tokens.

Hvordan lese CSV-fil i Java

Eksempel

 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(); } } } 

Produksjon:

 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