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")