CSV Datei in Array einlesen

Status
Nicht offen für weitere Antworten.

SKM

Mitglied
Hallo,
ich würde gerne eine CSV Datei in ein Array einlesen, mit dem ich dann im Programm weiterarbeite.
Allerdings fängt schon hier mein Problem an.
Es gibt viele Seiten wo Beispiele genannt werden, wie man das macht.
Aber könnt ihr mir das vielleicht etwas genauer erklären? Ich mache Java noch nicht soooo lange und es wäre mir wirklich eine große Hilfe, wenn Ihr mir die Schritte mal erklären würdet.
Ich bin etwas überfordert und würde mich wirklich sehr über eure Hilfe freuen.

Mit freundlichen Grüßen
SKM
 
S

SlaterB

Gast
zeige doch den Code einer dieser Seiten, und erkläre, was du nicht verstehst
 

SKM

Mitglied
Mich würde erstmal interessieren wie ich anfange.
Gibt es irgendwo Tutorials, wie ich so etwas mache?
Es soll folgende Tabelle (unvollständig) eingelesen werden und in einem Array gespeichert werden.
Was brauche ich dazu? Filreader...?

300 25 5
600 45 9
900 65 13
1200 85 17
1500 105 20
2000 133 20
2500 161 20
3000 189 20
3500 217 20

Ich bin ein Anfänger und wüsste gerne wo ich mich am besten reinlesen könnte.
Ich würde mich sehr über eure Hilfe freuen.
 

SKM

Mitglied
ok, vielleicht eine blöde Frage, aber warum soll ich bei Zahlenwerten mit Strings arbeiten?
Ich will die Zahlen in einer Rechnung als Integer weiterverwenden.
Lese ich diese dann trotzdem als Strings ein?
 
B

bygones

Gast
eingelesen wird im Grunde immer als String - du bist dann verantwortlich diese dann richtig weiterzuverarbeiten.
 
S

SlaterB

Gast
du liest erstmal die Datei, eine Datei ist immer Text, wenn nicht gar Binärdaten,
wenn du einzelne Zeilen als String hast, kannst du sie nach einem Trennzeichen splitten und dann gerne einzelne String-Stücke in Zahlen umwandeln
 

SKM

Mitglied
OK, danke.
Das hilft mir vom Verständnis her schon weiter.
Ich sollte vielleicht etwas mehr erklären, was ich damit vorhabe...

Ich möchte die Tabelle in einem Array speichern.
Später soll ein Benutzer einen Wert eingeben, welcher dann aus der ersten Spalte herausgesucht wird (muss übereinstimmen).
Dann sollen die nächsten zwei Spalten dieser Zeile in jeweils einer variablen gespeichert werden, mit der ich dann Rechnungen machen kann.
Habt ihr dazu noch tipps zum vorgehen?
 
S

SlaterB

Gast
am besten einen Schritt nach dem anderen,
und immer schön mit Testwerten arbeiten, nicht die Benutzereingabe als erstes bauen und dann jedesmal etwas eintippen müssen..
 

SKM

Mitglied
Ich habe bisher folgenden Code. Es wird bisher nur eine Tabelle ausgelesen.
Wie kann ich diesen Code nun so ändern, dass die Tabelle komplett in ein Array (oder Arraylist?) gelesen wird?

Code:
public class einlesen {
	
	public static void main(String args[]) throws Exception {
		
		//Instanzvariablen
		FileReader fr ;
		BufferedReader br;
		ArrayList al;
		
		fr = new FileReader("tabelle.csv");
		br = new BufferedReader(fr);
		al = new ArrayList();
		String s;
		while ((s = br.readLine()) != null) {
		System.out.println(s);
		}
		fr.close();
		}
		}public class einlesen {
	
	public static void main(String args[]) throws Exception {
		
		//Instanzvariablen
		FileReader fr ;
		BufferedReader br;
		ArrayList al;
		
		fr = new FileReader("tabelle.csv");
		br = new BufferedReader(fr);
		al = new ArrayList();
		String s;
		while ((s = br.readLine()) != null) {
		System.out.println(s);
		}
		fr.close();
		}
		}
 
S

SlaterB

Gast
statt
> System.out.println(s);
schreibst du
al.add(s);
schon sind die Zeilen in einer Liste drin
 

SKM

Mitglied
vielen Dank, dass ihr mir so helft und so viel Gedult habt ;-)

Wenn ich al.add(s); anstallt von System.out... reinschreibe kommt jedoch folgender Hinweis:

"Type safety: The method add(Object) belongs to the raw type ArrayList. References to
generic type ArrayList<E> should be parameterized"

Was hat das zu bedeuten? Es ist jedenfalls keine Fehlermeldung.
 
S

SlaterB

Gast
das bedeutet, dass du besser
ArrayList<String> al;
[..]
al = new ArrayList<String>();

gecodest hättest, um mitzuteilen, dass du nur Strings statt beliebige Objekte für die Liste planst,

Stichwort Generics, ein größeres Thema in Java
 

SKM

Mitglied
1. Verstaendnisfrage
Wieso wird eigentlich der String s mit dem filereader in Verbindung gebracht? Es ist ja schoen, dass es klappt, aber ich verstehe es noch nicht so ganz. Ich habe den code zum Teil kopiert und eingefuegt, wuerde ihn aber auch gerne verstehen.

Code:
public static void main(String args[]) throws Exception {
		
		//Instanzvariablen
		FileReader fr ;
		BufferedReader br;
		ArrayList al;
		
		fr = new FileReader("tabelle.csv");
		br = new BufferedReader(fr);
		al = new ArrayList();
		String s;
		while ((s = br.readLine()) != null) {
		al.add(s);
		}
		fr.close();
		}
		}

2. Nutze ich nun fuer meine Absichten besser den String Tokenizer oder die Split Methode?
Mein Problem ist ja wie folgt ...
Ich moechte ja die Tabelle mit den 3 Spalten in jeweils 3 Arrays spalten und in Variablen mit passenden Namen abspeichern.
Wie gehe ich da vor?

Ich bin gerade in der Uni und kann es leider nicht ausprobieren, aber es sollte doch wie folgt moeglich sein...

Code:
String[] splittArray = al.split("\\;");
Wenn ja, muesste ich die Spalten ja noch in Variablen speicher, aber wie ?
 
S

SlaterB

Gast
> Wieso wird eigentlich der String s mit dem filereader in Verbindung gebracht?

wieso man das macht?
gerade bei es so schön ist bzw. überhaupt eine der Möglichkeiten, voranzukommen

wie man das macht?
s = br.readLine()

2.
split ist moderner, in wenigen Situationen aber nicht ganz so flexibel,
auf die Elemente im splittArray kannst du mit Index 0-n zugreifen und irgendwohin schreiben
 

SKM

Mitglied
Verdammt, ich kriege es nicht hin.
Ich würde gerne den folgendem Beispielcode von tutorials.de in meinen code oben anwenden:

Code:
String tutorials = "www.tutorials.de";
 
String[] splittArray = tutorials.split("\\.");
 
Ergebnis:
 
splittArray[0] = "www";
splittArray[1] = "tutorials";
splittArray[2] = "de";
ich habe jetzt probiert erstmal lediglich
String[] splittArray = al.split("\\.");
in meinen Code einzubinden.
Dabei sagt er mir jedoch schon bei "split" --->The method split(String) is undefined for the type ArrayList

Wie genau kann ich denn den Code einbinden?
 
S

SlaterB

Gast
z.B.
String[] splittArray = al.get(0).split("\\.");
wenn al einen String enthält,
evtl. musst du noch casten

das ganze wohl in einer Schleife für alle Strings in der Liste
 

SKM

Mitglied
hallo,
ich kriege es einfach nicht hin.
Könntest du vielleicht mal den Quelltext oben so verändern, dass es klappt? Soviel code dürfte doch nicht eingefügt werden müssen, oder?
Das wäre mir eine große Hilfe...
:)
 
S

SlaterB

Gast
weil der 19. eines Monats in der Regel nicht gleich dem 16. eines Monats ist


@SKM
String[] splittArray = al.get(0).split("\\.");
 

SKM

Mitglied
@SKM
String[] splittArray = al.get(0).split("\\.");
Ich habe auch hier das gleiche Problem wie oben:
Er sagt mir bei Split, --->The method split(String) is undefined for the type Object.

Was kann ich dagegen tun? Am casten kann es doch eigentlich nicht liegen, das müsste ich doch später auch noch machen können, oder?!
 
S

SlaterB

Gast
String eineVonVielenZeilen = (String) al.get(0);
String[] splittArray = eineVonVielenZeilen.split("\\.");
 

SKM

Mitglied
danke, so klappt es.
Allerdings gibt es schon ein nächstes Problem:
Wenn ich es mit Systemoutprintln teste wird die erste Zeile genausooft ausgegeben, wie die Tabelle Zeilen hat, wieso?
Zudem hat die Split Anweisung irgendwie keine Funktion. Ob ich sie nun drin behalte oder rausnehmen, es wird das gleiche ausgegeben.
 
S

SlaterB

Gast
da hast du wirklich ein Problem




fürs Protokoll:
ohne deinen Code kann ich den Fehler nicht erraten,
außer wirklich offensichtliche Dinge, etwa dass du in der Schleife immer das erste Element aus der Liste nimmst statt das i-te
 

SKM

Mitglied
Java:
public class einlesen {

	public static void main(String args[]) throws Exception {

		//Instanzvariablen
		FileReader fr ;
		BufferedReader br;
		ArrayList  al;
		
		fr = new FileReader("tabelle.csv");
		br = new BufferedReader(fr);
		al = new ArrayList();
		String s;
		s = br.readLine();
		al.add(s);
		String eineVonVielenZeilen = (String) al.get(0);
		String[] splittArray = eineVonVielenZeilen.split("\\;"); 
		System.out.println(eineVonVielenZeilen);
		
		
		fr.close();
	}
}
[/Java]
Ok, mein Fehler,
ich habe jetzt die Schleife erstmal rausgenommen, die brauche ich doch vorerst nicht, oder?
Aber was hat eineVonVielenZeilen.split("\\;") nun für eine Funktion???
 
S

SlaterB

Gast
du hast es doch selber schon beschrieben
Code:
String tutorials = "www.tutorials.de";
 
String[] splittArray = tutorials.split("\\.");
 
Ergebnis:
 
splittArray[0] = "www";
splittArray[1] = "tutorials";
splittArray[2] = "de";
die Methode splittet den String anhand des Trennzeichens und erstellt ein Array mit den Einzelelementen,
was kann daran unverständlich sein?

der String selber wird dadurch nicht verändert

schau dir an, was im Array steht, falls du das benötigst:
System.out.println(Arrays.toString(array));
oder wieder eine for-Schleife


-----

man kann doch nicht jeden Programmierschritt einzeln erklären?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
F Zahlen aus Datei einlesen und in Array speichern Java Basics - Anfänger-Themen 2
T Datei in Array einlesen "null" Java Basics - Anfänger-Themen 8
E Erste Schritte txt.Datei mit BufferedReader einlesen und in 2D-Array abspeichern Java Basics - Anfänger-Themen 15
stylegangsta Input/Output Hat eclipse eine Macke oder mein Code Array Datei einlesen Java Basics - Anfänger-Themen 5
N Mehrdimensionales float Array aus .txt-Datei einlesen? Java Basics - Anfänger-Themen 17
A Datei in Array einlesen Java Basics - Anfänger-Themen 6
P Zahlen aus Datei in Array einlesen Java Basics - Anfänger-Themen 21
A datei in ein 2dimensionales array einlesen? Java Basics - Anfänger-Themen 9
G Datei einlesen und in einem Array ablegen? Java Basics - Anfänger-Themen 5
J einlesen von datei, float und array und und und. Java Basics - Anfänger-Themen 7
M Datei einlesen & in Array speichern Java Basics - Anfänger-Themen 4
S Einlesen einer Datei und ins Array speichern Java Basics - Anfänger-Themen 11
P Eine Datei einlesen und in einem Array speichern Java Basics - Anfänger-Themen 11
O zweidimensionales array in eine csv-Datei Java Basics - Anfänger-Themen 1
F Auto String mit Array Name aus Datei... oder so ähnlich Java Basics - Anfänger-Themen 4
I JSON Datei in Array umwandeln Java Basics - Anfänger-Themen 1
C Zeilen aus einer Datei in Array speichern Java Basics - Anfänger-Themen 4
A .txt Datei in einem Array speichern Java Basics - Anfänger-Themen 1
B Datei auslesen und 2D-Array anlegen Java Basics - Anfänger-Themen 1
Voreck Array aus txt datei auslesen Java Basics - Anfänger-Themen 2
D Methoden Array aus Datei lesen und weitergeben? Java Basics - Anfänger-Themen 7
N Probleme bei Speicherung eines Integer-Array in Datei speichern Java Basics - Anfänger-Themen 3
P CSV Datei in String Array -> Split -> New Array Java Basics - Anfänger-Themen 2
Z Datei auslesen und in 2dim Array packen. Java Basics - Anfänger-Themen 27
D String array in Datei speichern Java Basics - Anfänger-Themen 3
R Array in Text Datei schreiben Java Basics - Anfänger-Themen 2
V Jar-Datei von Byte-Array oder Stream laden? Java Basics - Anfänger-Themen 9
c_sidi90 Array in einer txt Datei speichern Java Basics - Anfänger-Themen 11
M Datei auslesen und Array schreiben?! Java Basics - Anfänger-Themen 8
S Array Daten in Binär Datei schreiben/lesen Java Basics - Anfänger-Themen 11
J Strings aus einer Datei in 2D Array schreiben Java Basics - Anfänger-Themen 3
J 2-dim Array auslesen und in Datei schreiben Java Basics - Anfänger-Themen 10
B Datei -> Array Java Basics - Anfänger-Themen 2
S Aus Datei lesen und im Array speichern Java Basics - Anfänger-Themen 2
J Datei lesen und in Array speichern Java Basics - Anfänger-Themen 5
J Byte-Array als Hex-Datei speichern? Java Basics - Anfänger-Themen 9
1 Array to Datei Java Basics - Anfänger-Themen 7
N Importieren von Wörtern aus Datei als Array von Strings Java Basics - Anfänger-Themen 2
N String/char-array aus datei auslesen Java Basics - Anfänger-Themen 2
M Aus .txt Datei Daten in Array speichern Java Basics - Anfänger-Themen 3
B String-Array in Datei speichern und wieder auslesen Java Basics - Anfänger-Themen 3
P datei in 2d array schreiben Java Basics - Anfänger-Themen 8
L Stringzeile aus Datei in 5 token splitten und 5D array laden Java Basics - Anfänger-Themen 3
U byte array in datei 'dumpen' / speichern Java Basics - Anfänger-Themen 2
S Komplette Datei in Array speichern Java Basics - Anfänger-Themen 10
N Array leert sich beim schrieben in eine Datei selbstständig Java Basics - Anfänger-Themen 2
S Datei lesen und in array rein Java Basics - Anfänger-Themen 10
tobiasbeil Von Datei byte für byte lesen und in ein Array einfügen. Java Basics - Anfänger-Themen 11
J Array in Datei schreiben und umgekehrt Java Basics - Anfänger-Themen 19
N Array in Datei schreiben Java Basics - Anfänger-Themen 7
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
E Audio Datei unter Bedingungen ausführen Java Basics - Anfänger-Themen 19
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
A exe Datei erstellen Java Basics - Anfänger-Themen 8
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
P Aus Text Datei nur Zahlen übernehmen Java Basics - Anfänger-Themen 13
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
W Fehler in der Datei pom.xml Java Basics - Anfänger-Themen 19
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
D Jar Datei startet unter Linux nicht Java Basics - Anfänger-Themen 3
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
E TIF Datei auslesen Java Basics - Anfänger-Themen 2
B von Java/Eclipse verwendete Datei existiert gar nicht? Java Basics - Anfänger-Themen 6
M Spezifischen Wert einer Zeile aus .txt Datei entnehmen Java Basics - Anfänger-Themen 15
B Popups mit Klicksabfangen zumAusfüllen einer .ods Datei Java Basics - Anfänger-Themen 0
M Daten aus .txt Datei einlesen und weiterverarbeiten Java Basics - Anfänger-Themen 80
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
I Datei (Bild) Drucken und wie Druckeinstellung speichern? Java Basics - Anfänger-Themen 3
A CSV-Datei Verarbeiten Java Basics - Anfänger-Themen 8
D Downloadfortschritt von Datei über Google Drive API v3 Java Basics - Anfänger-Themen 10
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
S In Datei schreiben in Java? Java Basics - Anfänger-Themen 1
Saiko Zeilen einer Datei einlesen Java Basics - Anfänger-Themen 3
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
sserio Txt Datei einlesen Java Basics - Anfänger-Themen 9
T Printwriter Datei nicht überschreiben Java Basics - Anfänger-Themen 10
berserkerdq2 An selbst ersteller txt Datei immer Text dranhängen, ohne den vorherign Text zu löschen Java Basics - Anfänger-Themen 8
berserkerdq2 Wie gebe ich den Pfad zu einer Datei an, die in einem Ordner in Eclipse ist? Java Basics - Anfänger-Themen 1
D Strings aus Excel-Datei einlesen Java Basics - Anfänger-Themen 2
M Text in Datei schreiben Java Basics - Anfänger-Themen 9
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
J selbst erstellte Datei mit Programm öffnen Java Basics - Anfänger-Themen 10
J int innerhalb einer Datei ändern Java Basics - Anfänger-Themen 1
T208 Text Datei individuell benennen. Java Basics - Anfänger-Themen 5
julian112 Input/Output .gz bzw. .txt Datei Einlesen und Umgang mit Exceptions Java Basics - Anfänger-Themen 1
F Aus eingelesener Datei korrekt Objekte erzeugen Java Basics - Anfänger-Themen 5
E extern Datei von meinem Computer aufmachen Java Basics - Anfänger-Themen 5
H Scripte oder Programmcode aus Datei lesen? Java Basics - Anfänger-Themen 5
E PDF Datei im xfdf-Datei umwandeln und auf dem Laufwerk ablegen Java Basics - Anfänger-Themen 0
J CSV-Datei verarbeiten Java Basics - Anfänger-Themen 27
A Verarbeiten einer Excel Datei durch das java-Programm Java Basics - Anfänger-Themen 3
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
nbergmann Installation unter jdk.java.net: Keine ZIP-Datei zum entpacken Java Basics - Anfänger-Themen 2
J Datei aus Netzwerk auslesen Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben