Seite 1 von 1
Import von Daten in Entry Felder
Verfasst: Dienstag 2. April 2013, 17:33
von muffin
Hallöle,
ich habe ein Formular, in das ich Daten eintragen kann. Nach dem Schließen des Formulars sind die Daten natürlich weg - was für mich aber doof ist.
Jetzt habe ich mir überlegt, ich könnte die Daten ja in einer extra Datei speichern und sie dann beim nächsten Öffnen des Formulars per 'insert' wieder in die Entry-Felder eintragen.
Wie wäre da denn das beste Vorgehen? Ich habs mal aus Spaß über ein
versucht. Das klappt auch. Aber ist das sinnvoll in einer Methode einen import zu machen? Oder wäre hier eine Datenbank angebracht (hab mich allerdings noch nicht damit beschäftigt).
Die Frage wäre dann auch, wie ich über mein Formular die jeweilige Datei finde - bin da auf
gestloßen - das funktioniert aber nicht ....
Sicher habt Ihr eine gute Idee für mich

Re: Import von Daten in Entry Felder
Verfasst: Dienstag 2. April 2013, 18:46
von daemonTutorials
Hallo,
am einfachsten könntest du es über das CSV-Modul schaffen, die erstellt eine Textdatei, die vom Modul, wie der Name sagt, als CSV-File interpretiert wird. Dort könntest du die Daten ohne großen Aufwand speichern.
http://docs.python.org/3/library/csv.ht ... ht=csv#csv
Etwas andere wäre die sqlite3 Bibliothek, das ist eine dateibasierte Datenbank, allerdings musst du dafür SQL lernen und anwenden können und die Datenbank vorher einrichten.
http://docs.python.org/3/library/sqlite ... e3#sqlite3
Hoffe das hilft dir

Re: Import von Daten in Entry Felder
Verfasst: Dienstag 2. April 2013, 20:44
von Sirius3
Idealerweise spendierst Du Deiner Formular-Klasse eine Serialisierungsmethode, die die ganzen Key-Value-Werte in ein Dictionary schreibt. Als Dateiformat bietet sich dafür json wunderbar an. Um zu wissen, wie das am besten Umzusetzen ist, müßte man natürlich mehr über Dein Programm wissen.
Re: Import von Daten in Entry Felder
Verfasst: Mittwoch 3. April 2013, 07:25
von muffin
Vielen Dank daemonTutorials für die schnellen Antworten. Die Möglichkeiten mit dem CSV-Modul und die SQL-Variante werde ich mir gleich mal ansehen - das scheint nicht allzu kompliziert zu sein (hoffe ich).
Sirius3 - auf json bin ich während meiner Web-Durchforstung schon mal gestoßen - das schien mir aber sehr aufwendig (was den Lernaufwand für mich betrifft) zu sein - ich hatte den Eindruck, da müsste ich eine komplett neue "Sprache" lernen. Und da ich eh noch am Anfang stehe muss ich meine Verwirrung etwas in Grenzen halten.
Re: Import von Daten in Entry Felder
Verfasst: Mittwoch 3. April 2013, 07:46
von Sirius3
@muffin: Wie gesagt, Formulardaten sind Key-Value-Paare und json viel einfacher als SQL und viel sicherer als CSV:
Code: Alles auswählen
>>> import json
>>> json.dumps({'Name':'Mayer','Vorname':'Thomas', 'Alter': 97})
'{"Vorname": "Thomas", "Name": "Mayer", "Alter": 97}'
Re: Import von Daten in Entry Felder
Verfasst: Donnerstag 4. April 2013, 07:10
von muffin
o.k. - vielen Dank sirius3, das sieht ja ganz einleuchtend aus. ICh werd mir das auch mal ansehen.
Re: Import von Daten in Entry Felder
Verfasst: Mittwoch 24. April 2013, 16:38
von muffin
Sirius3 hat geschrieben:json viel [...] sicherer als CSV:
[
... und warum ist json viel sicherer als eine csv-Datei?
Meine Daten werden doch auch in einer DAtei gespeichert, die ich immer in einem Texteditor ansehen und verändern kann (oder hab ich das falsch verstanden?) - oder meinst Du mit Sicherheit etwas anderes?
Re: Import von Daten in Entry Felder
Verfasst: Mittwoch 24. April 2013, 17:54
von Sirius3
@muffin: mit „sicher“ meine ich, dass json ein klar definiertes Dateiformat ist und es inherent eindeutig ist, was ein Key und was ein Value ist. CSV kann sich praktisch jede Textdatei nennen, es ist nicht sicher, dass jedes Programm Sonderzeichen gleich interpretiert, was vor allem bei Textfeldern problematisch werden kann.