Pickle-Beispiele¶
Python-pickle
-Modul¶
In diesem Beispiel wollen wir mit dem Python pickle-Modul das foldende Dict im Pickle-Format speichern:
[1]:
pyviz = {
"Titel": "PyViz Tutorial",
"Sprache": "de",
"Autor*innen": "Veit Schiele",
"Lizenz": "BSD-3-Clause",
"Veröffentlichungsdatum": "2020-04-13",
}
[2]:
import pickle
[3]:
with open("pyviz.pkl", "wb") as f:
pickle.dump(pyviz, f, pickle.HIGHEST_PROTOCOL)
Nun lesen wir die Pickle-Datei wieder ein:
[4]:
with open("pyviz.pkl", "rb") as f:
pyviz = pickle.load(f)
print(pyviz)
{'Titel': 'PyViz Tutorial', 'Sprache': 'de', 'Autor*innen': 'Veit Schiele', 'Lizenz': 'BSD-3-Clause', 'Veröffentlichungsdatum': '2020-04-13'}
Auf diese Weise können wir Python-Objekte einfach persistent speichern.
Warnung
pickle
kann nur als kurzfristiges Speicherformat empfohlen werden. Das Problem ist, dass nicht garantiert wird, dass das Format im Laufe der Zeit stabil bleibt; ein heute gepickeltes Objekt lässt sich möglicherweise mit einer späteren Version der Bibliothek nicht mehr entpickeln.
pandas¶
Alle Pandas-Objekte haben eine to_pickle
-Methode, die Daten im Pickle-Format auf die Festplatte schreibt:
[5]:
import pandas as pd
books = pd.read_pickle("books.pkl")
books
[5]:
Titel | Sprache | Autor*innen | Lizenz | Veröffentlichungsdatum | |
---|---|---|---|---|---|
0 | Python basics | en | Veit Schiele | BSD-3-Clause | 2021-10-28 |
1 | Jupyter Tutorial | en | Veit Schiele | BSD-3-Clause | 2019-06-27 |
2 | Jupyter Tutorial | de | Veit Schiele | BSD-3-Clause | 2020-10-26 |
3 | PyViz Tutorial | en | Veit Schiele | BSD-3-Clause | 2020-04-13 |
pandas-Objekte haben alle eine to_pickle
-Methode, die die Daten im Pickle-Format auf die Festplatte schreibt:
[6]:
books.to_pickle("books.pkl")