Seite 1 von 1
Zwei Keys und ein Value in Datei speichern
Verfasst: Dienstag 28. Februar 2017, 21:58
von Zizibee
Hallo zusammen,
ich versuche zur Zeit für mein kleines Stickmusterprogramm die Muster aus dem Code in eine externe Datei zu verbannen.
Als ersten Versuch habe ich einen Buchstaben und die dazugehörige zweidimensionale Liste mit shelve gespeichert. Nun würde ich aber gerne noch verschiedene Schriftarten hinzufügen. Aber dann hätte ich zwei Keys und ein Value, also
Key 1: Schriftart
Key 2: Buchstabe
Value: Liste
Leider habe ich das mit shelve nicht hin bekommen, geht das damit überhaupt?
Weiß jemand, wie oder womit man das umsetzen kann und kann mir einen Tipp geben?
Schon einmal vielen Dank!
Re: Zwei Keys und ein Value in Datei speichern
Verfasst: Mittwoch 1. März 2017, 08:54
von sebastian0202
Für solche Dinge nutze ich immer gerne JSON.
Vielleicht eignet sich für deine Bedürfnisse aber auch eine einfache CSV-Datei?
Code: Alles auswählen
JSON:
{
"Stickmuster_1": {
"Schriftart": "Consolas",
"Buchstabe": "A",
"Werte": []
}
}
CSV:
Consolas;A;1;2;3;4
Arial;B;5;9;
...
Re: Zwei Keys und ein Value in Datei speichern
Verfasst: Mittwoch 1. März 2017, 09:35
von snafu
JSON ist deutlich lesbarer als CSV und auch flexibler. Ohne Not würde ich heutzutage gar nicht mehr zu CSV greifen.
Re: Zwei Keys und ein Value in Datei speichern
Verfasst: Mittwoch 1. März 2017, 11:57
von Zizibee
Geplant und teilweise umgesetzt ist, dass der Benutzer eine Schriftart auswählt und Text eingibt. Dann wird die Texteingabe in einzelne Buchstaben zerlegt und jeder Buchstabe unter Berücksichtigung der Schriftart aus der externen Datei raus gesucht. Aus der Datei kommen zweidimensionale Listen, die zu einer großen zweidimensionalen Liste zusammen gesetzt werden, die wiederum über tkinter angezeigt wird.
Dazu werde ich mich jetzt erstmal mit JSON beschäftigen.
Vielen Dank für die Antworten!
Re: Zwei Keys und ein Value in Datei speichern
Verfasst: Dienstag 7. März 2017, 22:04
von Zizibee
Ich habe da jetzt zu JSON noch eine Frage. Speichern und Laden der Daten klappt zwar, aber ich frage mich, ob man das nicht noch lesbarer hinbekommen kann.
Wenn ich z.B. etwas so speicher
Code: Alles auswählen
import json
data = {'Schreibschrift': {'A': [[1, 2], [3, 4]]}}
with io.open('data.json', 'w', encoding='utf8') as outfile:
str_ = json.dumps(data)
outfile.write(str_)
Dann steht in der Datei:
Oder ich änder die Ausgabe in:
Steht in meiner Datei
Andere Formatierungen habe ich nicht hinbekommen, hätte aber gerne zwecks besserer Lesbarkeit so etwas wie
Weiß jemand ob bzw. wie das möglich ist?