Speichern und Laden von Listen mit Float und String

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
Patrick1990
User
Beiträge: 116
Registriert: Freitag 3. Juni 2016, 05:45

Hallo,

ich möchte gern eine Liste mit Springs und Floats Textdatei speichern und anschließend auch wieder laden können.
Die Liste hat folgende Gestalt: ["name", wert].

Speichern funktioniert derzeit mit

Code: Alles auswählen

        with open(filename, "w") as file:
            for entry in self.varList:
                file.write(str(entry) + "\n")
Beim Laden und Lesen der Datei liegen die Einträge jedoch in der Form "["name", wert]" vor, anstatt wieder in der ursprünglichen Gestalt. Wie kann ich das am besten machen?
Ich möchte die Textdatei jedoch auch extern editieren können, deshalb sollte sie nicht binär geschrieben werden.

Vielen Dank
__deets__
User
Beiträge: 14539
Registriert: Mittwoch 14. Oktober 2015, 14:29

Benutz das Modul csv sowohl zum einlesen als auch speichern deiner Daten.
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

@Patrick1990: Du solltest Deine Daten in einem üblichen Format speichern, z.B. JSON mit `json.dump`
Patrick1990
User
Beiträge: 116
Registriert: Freitag 3. Juni 2016, 05:45

Sirius3 hat geschrieben:@Patrick1990: Du solltest Deine Daten in einem üblichen Format speichern, z.B. JSON mit `json.dump`
Wieso nicht eine übliche Textdatei?
__deets__
User
Beiträge: 14539
Registriert: Mittwoch 14. Oktober 2015, 14:29

JSON ist gut menschenlesbar, und erlaubt dir komplexere Strukturen falls das mal notwendig sein sollte.

CSV wie von mir vorgeschlagen ist allerdings ebenso ueblich, fuer tabellarisch sinnvoll darstellbare Daten zumindest.
Patrick1990
User
Beiträge: 116
Registriert: Freitag 3. Juni 2016, 05:45

__deets__ hat geschrieben:Benutz das Modul csv sowohl zum einlesen als auch speichern deiner Daten.
Könntest du mir evtl. sagen wie ich das in meinem Fall anwende?
Patrick1990
User
Beiträge: 116
Registriert: Freitag 3. Juni 2016, 05:45

__deets__ hat geschrieben:JSON ist gut menschenlesbar, und erlaubt dir komplexere Strukturen falls das mal notwendig sein sollte.

CSV wie von mir vorgeschlagen ist allerdings ebenso ueblich, fuer tabellarisch sinnvoll darstellbare Daten zumindest.
Ok dankeschön, kann diese mit einem einfachen Texteditor editiert werden?
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

@Patrick1990: sowas kann man ganz leicht herausfinden, indem man die Dokumentation liest:

Code: Alles auswählen

with open(filename, "w") as output:
    json.dump(self.varList, output)
Ich hoffe, `varList` ist nicht wirklich Dein Variablenname. So ein generischer Name hilft nämlich nicht beim Verstehen des Programms.
__deets__
User
Beiträge: 14539
Registriert: Mittwoch 14. Oktober 2015, 14:29

Patrick1990 hat geschrieben:
__deets__ hat geschrieben:Benutz das Modul csv sowohl zum einlesen als auch speichern deiner Daten.
Könntest du mir evtl. sagen wie ich das in meinem Fall anwende?
Hast du dir mal die Muehe gemacht die Dokumentation dazu aufzurufen? Da gibt es eine Sektion "Examples". Welche Fragen genau laesst die denn offen?
Patrick1990
User
Beiträge: 116
Registriert: Freitag 3. Juni 2016, 05:45

Ich hatte zu dem Zeitpunkt noch nicht die Doku gelesen.
Nun habe ich das Speichern und Laden erfolgreich implementiert. Vielen Dank.
Antworten