gezielter Wert aus einer txt Datei

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Neikonice
User
Beiträge: 2
Registriert: Montag 13. Juni 2016, 19:56

Ich habe eine txt Datei welche aus 3 Zeilen und 3 Spalten besteht. Dabei handelt es sich um Zahlen (z.B. 27.987).
Die einzelnen Spalten sind durch einen Tab getrennt. Aus dieser Tabelle würde ich gerne eine Zahl (z.B. 2. Zeile
2.Spalte) herauslesen und diese Zahl dann einer Variable zuordnen (x=die Zahl aus der Tabelle).

Würde mich freuen, wenn mir da jemand helfen könnte. :)
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@Neikonice: was hast Du denn versucht? Prinzipelles Vorgehen ist ja, die Datei zeilenweise zu lesen und die Zeilen am Tab-Zeichen zu splitten. Oder man nimmt gleich das csv-Modul, oder wenn man numpy benutzen will, numpy.loadtxt.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Das Format dass du beschreibst ist CSV mit Tab als Spaltentrenner. Die Standard Library hat dafür das csv Modul mit dem dies in eine Datenstruktur bringen kannst.
Neikonice
User
Beiträge: 2
Registriert: Montag 13. Juni 2016, 19:56

also mit dem csv modul bin ich jetzt wie folgt vorgegangen:

import csv

with open('Festpunkte.txt') as punkte:
.......punkteReader=csv.reader(punkte)
.......liste=[]
.......for row in punkteReader:
..........if len (row) !=0:
..............liste=liste+[row]
print(liste)


damit wird mir eine Liste ausgegeben die nochmal 3 Listen enthält:
[['1\t22331.08\t43541.85'], ['2\t22407.55\t43535.10'], ['3\t22506.81\t43508.01']]

wie genau kann ich jetzt auf ein Element der Liste von der Liste zugreifen?
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@Neikonice: hier im Forum gibt es codebox-Tags, das ist die Dropbox genau über diesem Editfeld, dann kannst Du auch die Punkte für die Einrückung weglassen.
Du mußt schon auch den delimiter auf '\t' setzen, der Default ist nämlich bei Comma-Separated-Values ein Komma. Statt immer wieder eine neue Liste zu erzeugen, die die alte Liste kopiert und mit einer ein-elementigen Liste kombiniert, hat ein list-Objekt die append-Methode.
Antworten