Pyhton Daten updaten?
Hallo
ich bin neu in der Python Welt und habe eine kleine Frage bezüglich arbeiten mit Daten (.txt)
Ich will ein Geldaufnahme Programm schreiben wo ich Daten speichern muss und regelmäßig updaten will.
Zum Programm: Nachdem mein Lohn kam will ich alle meine Kontostände aktualisieren und diese sollen dann gespeichert werden und auf Wunsch aufrufbar sein.
(Erfundenen Zahlen)
Hier ist das Dictunary in der TXT datei:
Bestände = {
"Sparbuch" : 1000,
"Girokonto" : 2000,
"Depot : 3000,
"Bar" : 4000
}
Mein Lohn (3.000€ ) kommt und ich verteile das Geld auf die Konten.
Hier fange ich in der Geldaufnahme.py Datei an:
Sparbuch1 = input("Was ist der Aktuelle stand? ") #verändert um +1.000
Girokonto2 = input("Was ist der Aktuelle stand? ") #verändert um +1.000
Depot3 = input("Was ist der Aktuelle stand? ")
Bar4 = input("Was ist der Aktuelle stand? ") #verändert um +1.000
Jetzt zu meinem ersten Problem:
Wie kann ich die Daten aus der txt datei in meiner .py Datei als Dictunary rüber holen und dann selbständig bearbeiten?
bzw
Die Bestände: Sparbuch/ Girokonto und Bar verändern sich um jeweils 1.000€
wie kann ich das in der Txt datei aktualisieren?
Zu meinem zweiten Problem:
Ich will nur den Bestand des Depotes wissen wie lese ich das gezielt aus der txt datei aus?
zu meinem Dritten Problem:
Ist txt datei das richtige hierfür?
Ich hoffe es war verständlich
danke schonmal im voraus
2 Antworten
Wenn du deine Daten als Dictionary modellierst, kann man sowas sehr einfach als JSON speichern und wieder in ein Dictionary reinlesen. Das ist dann immer noch eine Form von Textdatei, aber eben im JSON-Format.
https://docs.python.org/3/library/json.html
Wenn du Daten im Programm verändert hast, schreibst du die Datei einfach komplett neu.
Anwendungsbeispiele gibt es tausendfach im Netz, etwa hier: https://www.programiz.com/python-programming/json
Du hast ein kleines Designproblem, das dir die Probleme bereitet.
Sparbuch, Konto, Depot und Bargeld sind unterschiedliche Objekte. Diese zusammenzufassen ist leider keine gute Idee. Spätestens beim Update der Daten - wie du bereits bemerkt hast - bekommst du Schwierigkeiten.
An deiner Stelle würde ich vier Dateien erstellen. Die Zu- und Abgänge mit (+) oder (-) bzw. (S)oll und (H)aben markieren. Auf diese Weise erhälst du sogar einen Verlauf deiner Einnahmen und Ausgaben und kannst bessere Auswertungen fahren - sprich: die Daten zu verarbeiten wird einfacher.
Grundsätzlich kannst du eine .txt-Datei nutzen. Da du aber zusammenhängende Daten hast, wäre eine ordentliche Datenstruktur willkommen. Ob es .json oder .csv ist, ist dir überlassen. Wie jo135 bereits schrieb, würde ich ebenfalls zu .json tendieren.