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