csv Datein einlesen und ausgewähltes Feld ausgeben

Tzwenn

Mitglied
Hallo zusammen,

ich bin Java-Einsteiger und habe ein Problem mit einer Aufgabenstellung. Ich möchte eine csv-Datei einlesen und ein oder mehrere Felder gezielt ausgeben.

Zeilen- und Spaltennummer habe ich bereits abgefragt, sind als Integer in zwei Variablen gespeichert.

Bei meiner Suche im Netz habe ich folgenden Code gefunden, der jedoch alls eingelesen Werte ausgibt. Kann mir jemand helfen, wie ich die Ausgabe modifizieren muss?
Java:
public class Csv_einlesen_test { 
    public static void main(String[] args) {      
        FileReader myFile = null;
        BufferedReader buff = null;
        final List<String> lines = new ArrayList<>();
        //Einlesen
        try{
            myFile = new FileReader("/home/sven/test.csv");
            buff = new BufferedReader(myFile);
            String line;
            while ((line = buff.readLine()) != null){
                System.out.println(line); //Kontrolle einlesen
                lines.add(line);
            }
           } catch (IOException e) {
               System.err.println("Error2 :" + e);             
           } finally {
            try {
                buff.close();
                myFile.close();
            } catch (IOException e) {
                System.err.println("Error2 : "+e);
                }
        }
        final String[][] valuesArray = new String[lines.size()][];
        int cnt=0;
        for (final String line : lines) {
            valuesArray[cnt++] = line.split(",");
        }
      
        //Ausgabe des Array
        for (String[] arr: valuesArray) {
               System.out.println(Arrays.toString(arr));
        }
    }


Gruß Sven
 
Zuletzt bearbeitet von einem Moderator:

JStein52

Top Contributor
Du musst in dem Teil der die Ausgabe macht entsprechende Logik einbauen dass nur die Felder ausgegeben werden die du auch möchtest ! Evtl. so:

Code:
        //Ausgabe des Array
        for (String[] arr: valuesArray) {
               for (int i=0; i<arr.length;i++) {
                  if ( // soll das i.te Feld ausgegeben werden
                       System.out.print(arr[i]+"  ");
               }
               System.out.println();  // neue Zeile
        }
 

Tzwenn

Mitglied
Danke für Deine schnelle Antwort.

Ich hätte da noch ein paar Verständnisfragen:

Verstehe ich es richtig, dass ich mit dieser Anweisung alle "Zeilen" durchlaufe?
for (String[] arr: valuesArray)

Falls ja, wie baue ich hier ein, dass ich nur die z.B. 2. Zeile verarbeite?

Welche Bedingung müsste ich für die Ausgabe des 3. Feldes nutzen?

if (i=3) {
System.out.print(arr+" ");
}
 

Jardcore

Top Contributor
Hey Sven,

ich finde das Beispiel aus dem Internet ein wenig schwer verständlich, vielleicht hilft dir diese vielleicht mehr.
Java:
public class CsvReader {
   
    private List<String[]> lines;
   
    public CsvReader(String path) throws IOException {
           
        lines = new ArrayList<String[]>();
       
        String record = "";
        BufferedReader reader = new BufferedReader(new FileReader(path));
           
        while((record = reader.readLine()) != null) {
            lines.add(record.split(";"));
        }
    }
   
    public String getRecord(int zeile, int spalte) {
        return lines.get(zeile - 1)[spalte - 1];
    }
   
    public List<String[]> getLines() {
        return lines;
    }
}
Java:
public class Main{
   
    public static void main(String[] args) throws IOException {
        CsvReader reader = new CsvReader("test.csv");
        System.out.println(reader.getRecord(1, 1));
    }
}

Hier habe ich eine extra Klasse erstellt die dir die komplette Csv Datei einliest. Und ähnlich wie dein Beispiel die Daten in einer Liste ablegt. Die CsvReader Klasse hat darüber hinaus aber noch eine Methode mit der du einfach mit Spalte, Zeile die jeweilige Zelle auslesen kannst. Die Exception Behandlung habe ich zur Leserlichkeit erstmal raus gelassen.

Du kannst also eine Instanz des CsvReader erstellen und die gewünschten Daten, wie gezeigt abfragen.

Beste Grüße,
Jar
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Datein einlesen Java Basics - Anfänger-Themen 1
B txt Datein zeilenweise einlesen Java Basics - Anfänger-Themen 4
P Einlesen von großes Datein optimieren durch Thread(s) Java Basics - Anfänger-Themen 7
Buroto Klassen Mehrere .txt Datein verbienden und anschließend auslisten Java Basics - Anfänger-Themen 10
S Datein auslesen und verarbeiten Java Basics - Anfänger-Themen 1
J Java FTP Download lädt datein nicht Ordentlich herunter Java Basics - Anfänger-Themen 9
M Class Datein aus einen Unterordner verwenden Java Basics - Anfänger-Themen 2
F Effizientes Lesen von 65 Datein mit Boolean Werten Java Basics - Anfänger-Themen 6
Ananaskirsche Input/Output Platzhalter durch String in yml-Datein ersetzen Java Basics - Anfänger-Themen 5
O Auslesen von .csv Datein in ein Klassen Array Java Basics - Anfänger-Themen 6
L Bild-Datein "zuschneiden" Java Basics - Anfänger-Themen 11
I fertige xml-datein in eine noch aufzubauende xml-datei einfügen Java Basics - Anfänger-Themen 4
D Mehrere Datein kopieren Java Basics - Anfänger-Themen 10
H Java Datein starten nicht :( Java Basics - Anfänger-Themen 5
A Datein kopieren: File oder xcopy? Was ist schneller? Java Basics - Anfänger-Themen 10
D Selbstprogrammierte Datein in Netbeans nutzen? Java Basics - Anfänger-Themen 2
S datein kopieren Java Basics - Anfänger-Themen 5
J .jar Datein ausführen Java Basics - Anfänger-Themen 23
A 3 java-Datein in 1 .jar Java Basics - Anfänger-Themen 2
S Speichern von Datein in Java Java Basics - Anfänger-Themen 3
A Eigene Klassen Datein? Java Basics - Anfänger-Themen 8
K Datein auf der Console anzeigen lassen ? Java Basics - Anfänger-Themen 4
K Mit php datein komunizieren Java Basics - Anfänger-Themen 4
B Datein Speichern Java Basics - Anfänger-Themen 3
P Zeilenumbrüche in txt Datein Java Basics - Anfänger-Themen 2
B Dateigröße ermitteln von Datein im Internet Java Basics - Anfänger-Themen 9
C Zugriff auf Datein in meinem jar File Java Basics - Anfänger-Themen 23
H Datein und Ordner kopieren bzw neu anlegen Java Basics - Anfänger-Themen 2
K Datein ausführen (exec) Java Basics - Anfänger-Themen 3
M In Datein schreiben Java Basics - Anfänger-Themen 4
N Mehrzeilig aus Datein lesen und schreiben Java Basics - Anfänger-Themen 8
A .class Datein, jar Archiv ? Java Basics - Anfänger-Themen 2
S Vectoren in Datein speichern --> Fehlermeldung Java Basics - Anfänger-Themen 6
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
G JTree speichern und wieder einlesen Java Basics - Anfänger-Themen 5
T Text einlesen code was kommt dahin? Java Basics - Anfänger-Themen 1
S SeriellenPort einlesen Java Basics - Anfänger-Themen 3
I XML einlesen und Objekte bekommen Java Basics - Anfänger-Themen 2
M Daten aus .txt Datei einlesen und weiterverarbeiten Java Basics - Anfänger-Themen 80
julian0507 Wörter einlesen lassen und rückwärts ausgeben Java Basics - Anfänger-Themen 7
S JSON einlesen und benutzen Java Basics - Anfänger-Themen 5
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
I Ical4j / Kalender einlesen von URL - Fehler: "Unparseable date" Java Basics - Anfänger-Themen 16
Saiko Zeilen einer Datei einlesen Java Basics - Anfänger-Themen 3
sserio Txt Datei einlesen Java Basics - Anfänger-Themen 9
D Strings aus Excel-Datei einlesen Java Basics - Anfänger-Themen 2
julian112 Input/Output .gz bzw. .txt Datei Einlesen und Umgang mit Exceptions Java Basics - Anfänger-Themen 1
M String beim einlesen formatieren Java Basics - Anfänger-Themen 12
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
G JSP Textfeld einlesen Java Basics - Anfänger-Themen 2
M Einlesen > new Leser Java Basics - Anfänger-Themen 5
W Werte durch Konsole einlesen Java Basics - Anfänger-Themen 10
A Array einlesen und ausgeben Java Basics - Anfänger-Themen 13
K Datum einlesen und Tag, Monat und Jahr einzeln ausgeben Java Basics - Anfänger-Themen 1
K Datum einlesen und Tag, Monat und Jahr einzeln ausgeben Java Basics - Anfänger-Themen 1
KogoroMori21 Textdatei einlesen im Array (Selection Sort Algorithmus) Java Basics - Anfänger-Themen 3
S Wort einlesen Array ausgeben Java Basics - Anfänger-Themen 4
I Java String einlesen und auslesen Java Basics - Anfänger-Themen 11
A Input/Output Mehrere Csv-Dateien einlesen Java Basics - Anfänger-Themen 2
S CSV einlesen und mit Komma trennen Java Basics - Anfänger-Themen 12
CptK Richtigen Pfad beim einlesen von Datei finden Java Basics - Anfänger-Themen 2
I Java-Wort einlesen und ausgeben Java Basics - Anfänger-Themen 7
J Csv-Datei einlesen Java Basics - Anfänger-Themen 52
JD_1998 Arrays einlesen, zwischenspeichern und wieder ausgeben Java Basics - Anfänger-Themen 8
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5
O zufälliges Wort aus einer Datei einlesen Java Basics - Anfänger-Themen 32
E Input/Output Datei anhand von Dateinamen einlesen Java Basics - Anfänger-Themen 5
C Datei über relative Pfade einlesen Java Basics - Anfänger-Themen 6
A Input/Output Dateien einlesen und ausgeben Java Basics - Anfänger-Themen 7
A Klasse um daten zu einlesen Java Basics - Anfänger-Themen 26
A 2d Arrays aus txt.file einlesen Java Basics - Anfänger-Themen 16
A Textdatei mit stream einlesen Java Basics - Anfänger-Themen 2
P Datei einlesen und zurückgeben Java Basics - Anfänger-Themen 5
G String wird nach Einlesen aus Datei nicht erkannt Java Basics - Anfänger-Themen 3
M String in Scanner einlesen Java Basics - Anfänger-Themen 6
E TXT FILE EINLESEN Java Basics - Anfänger-Themen 4
M Einzelzeichen einlesen Java Basics - Anfänger-Themen 2
C (char) Array einlesen Java Basics - Anfänger-Themen 8
B HTML File einlesen inkl. Bilder? Java Basics - Anfänger-Themen 2
E Mehrere Eingabezeilen gleichzeitig einlesen Java Basics - Anfänger-Themen 7
B HTML Datei einlesen und HTML Code in String wandeln Java Basics - Anfänger-Themen 19
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
I Nur auf Abfrage von einer Text Datei einlesen Java Basics - Anfänger-Themen 11
P Text Datei einlesen und übertragen Java Basics - Anfänger-Themen 15
E Einteilung der Räume mit einlesen einer .txt datei Java Basics - Anfänger-Themen 16
P Array einlesen von Konsole Java Basics - Anfänger-Themen 8
D Eingaben in String Array einlesen Java Basics - Anfänger-Themen 12
B CSV einlesen - Parameter a) encoding b) delimiter Java Basics - Anfänger-Themen 7
R Compiler-Fehler Einlesen von Konsolenparameter funtioniert nichtmehr Java Basics - Anfänger-Themen 4
I OOP Objektnamen über die Konsole richtig einlesen Java Basics - Anfänger-Themen 9
J Einlesen von Datei funktioniert nicht Java Basics - Anfänger-Themen 8
H Einlesen Java Basics - Anfänger-Themen 8
H Einlesen von Zahlen Java Basics - Anfänger-Themen 20
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
CptK Datentypen Text Dateien einlesen Java Basics - Anfänger-Themen 3
A Datentypen Unterschiedliche Datentypen in einer Eingabe einlesen Java Basics - Anfänger-Themen 2
R txt Einlesen und Verarbeiten Java Basics - Anfänger-Themen 15
M Erste Schritte CSV-File einlesen und Daten verarbeiten Java Basics - Anfänger-Themen 5
M Datei einlesen mit Scanner funktioniert nicht (FileNotFoundException) Java Basics - Anfänger-Themen 6
K Sonderzeichen einlesen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben