Wie lese ich die Text datei (unten) in Python?
Hallo. Ich wollte folgende textdatei einlesen mit folgenden format in jeder Zeile:
[x, y] c
Zum Beispiel:
[5, 9], 4
[7, 0], 3
ect.
Das wollte ich eine Dataframe speichern, mit spalten x,y,c und dann in den zeilen jeweils die werte. Wie lese ich das von einer text format ab, problem ist hierbei [ , ect.
Danke
2 Antworten
ChatGPT ist dein Freund, was solche Angelegenheiten betrifft:
import pandas as pd
# Pfad zur Textdatei
dateipfad = "pfad_zur_datei.txt"
# Liste zum Speichern der Daten
daten = []
# Textdatei einlesen
with open(dateipfad, 'r') as file:
for line in file:
# Entferne Leerzeichen und Zeilenumbrüche am Anfang und Ende der Zeile
line = line.strip()
# Entferne die Klammern um x, y und den abschließenden Beistrich
line = line.replace("[", "").replace("]", "").replace(",", "")
# Teile die Zeile an den verbleibenden Leerzeichen auf
x, y, c = line.split()
# Konvertiere x, y und c in die gewünschten Datentypen
x = int(x)
y = int(y)
c = int(c)
# Füge die Werte zur Datenliste hinzu
daten.append([x, y, c])
# Erstelle den DataFrame
df = pd.DataFrame(daten, columns=["x", "y", "c"])
# Gib den DataFrame aus
print(df)
Woher ich das weiß:Berufserfahrung – Theoretische und praktische Erfahrungen in diesem Feld.
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
programmieren, Informatik, Programmiersprache
import re
matcher=re.compile(".*\[.*(\d+).*,.*(\d+).*\].*,(\d+).*")
#modify pattern as req'd
with open(...) as df:
for line in df:
res=matcher.fullmatch(line)
if res!=None:
daten=res.groups()
#use Tuple as needed
In der Art könnte man das angehen.