Wie man CSV in Java parst
-
Parsen von CSV mit
Scanner
in Java -
Parsen von CSV mit
String.split()
in Java -
Parsen von CSV mit
OpenCSV
in Java
Wir werden das Thema des Parsens eines CSVs in Java behandeln. Wir werden uns die verschiedenen Methoden zum Parsen eines CSV in Java anhand des unten stehenden Beispiels CSV in Java ansehen.
Parsen von CSV mit Scanner
in Java
Der erste und klassischste Weg, eine CSV-Datei zu parsen, ist die Verwendung der Scanner
-Klasse von Java. Im Beispiel erhalten wir die Datei mit File
und lesen sie dann mit Scanner
.
Das Wichtigste, was in diesem Beispiel zu beachten ist, ist, dass wir das in CSV verwendete Trennzeichen kennen müssen. Wir verwenden das Komma im ursprünglichen CSV als Trennzeichen; deshalb können wir ,
als Trennzeichen im Code angeben.
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();
}
}
Ausgabe:
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 |
Parsen von CSV mit String.split()
in Java
Im nächsten Beispiel verwenden wir eine split()
Methode, die mit der Klasse String
arbeitet. Wir können BufferedReader
verwenden, um die CSV-Datei zu lesen und in einer Schleife durch sie hindurch jede Zeile zu lesen, bis sie null
erreicht.
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();
}
}
}
Ausgabe:
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
Parsen von CSV mit OpenCSV
in Java
Mehrere Bibliotheken können uns beim Parsen des CSV in Java helfen. Eine von ihnen ist OpenCSV
. Im folgenden Beispiel nimmt CSVReader()
einen FileReader
mit der CSV-Datei und gibt dann ein Array mit Zeichenketten zurück.
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();
}
}
}
Ausgabe:
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