Seite 1 von 1

TXT File mit Semikolontrennung einlesen

Verfasst: Dienstag 23. Juli 2019, 15:23
von djnforce
Hallo zusammen,

ich habe ein *.txt file, welches ungefähr so aufgebaut ist:

Entry11; Entry12; Entry13
Entry21; Entry22; Entry 23
Entry31; Entry32; Entry33

Wie kann ich diese Datei nun so einlesen, dass ich später die einzelnen Einträge in einer anderen Datei beliebig anordnen kann?
Was ich also benötige ist, wie kann ich beispielsweise auf den String "Entry22" zugrerifen`?

Ich dachte bereits an ein array. Aber da kann ich nur Zeilenweise einlesen und dann auch problemlos jede Zeile ansprechen.

Code: Alles auswählen

with open("test.txt", 'r') as f:
	reader = csv.reader(f)
	for row in reader:
		print(row)

Re: TXT File mit Semikolontrennung einlesen

Verfasst: Dienstag 23. Juli 2019, 15:38
von __deets__
Du musst die Daten halt in eine geeignete Datenstruktur einlesen. ZB eine Liste.

Re: TXT File mit Semikolontrennung einlesen

Verfasst: Dienstag 23. Juli 2019, 15:45
von djnforce
Okay, hab ich gemacht:

Code: Alles auswählen

with open("test/Debitor.txt", 'r') as f:
	reader = csv.reader(f)
	your_list = list(reader)

print(your_list)
aber wie spreche ich nun zb. den 5 Eintrag in der 3. Zeile an?

mit

Code: Alles auswählen

print(your_list[3])

bekomme ich ja auch nur wieder die ganze Zeile.

Re: TXT File mit Semikolontrennung einlesen

Verfasst: Dienstag 23. Juli 2019, 16:00
von __deets__
Durch doppelte Indizierung, erst die Zeile, dann die Spalte

Code: Alles auswählen

your_list[zeile][spalte]

Re: TXT File mit Semikolontrennung einlesen

Verfasst: Dienstag 23. Juli 2019, 16:06
von djnforce
mhhh. Das einzige was funktioniert ist

Code: Alles auswählen

your_list[0][0]
oder

Code: Alles auswählen

your_list[1][0]
....

Ich komm einfach nicht an die Spalten :-(

Sobald ich die Spalte auf 1 oder 2 setze, bekomme ich einen "out of range" error.

Re: TXT File mit Semikolontrennung einlesen

Verfasst: Dienstag 23. Juli 2019, 16:16
von __blackjack__
@djnforce: Du hast da ja auch nur eine Spalte in der Datei wenn Du dem `reader()` nicht sagst dass das Semikolon Spalten trennt und nicht das Komma.

Re: TXT File mit Semikolontrennung einlesen

Verfasst: Dienstag 23. Juli 2019, 16:21
von djnforce
Danke sehr.

Die Lösung ist demnach

Code: Alles auswählen

reader = csv.reader(f, delimiter=';')