Lesen einer Pickle-Datei mit Python

Vaibhav Vaibhav 14 April 2022
  1. Lesen einer Pickle-Datei mit dem pickle-Modul in Python
  2. Lesen einer Pickle-Datei mit dem pandas-Modul in Python
Lesen einer Pickle-Datei mit Python

In Python bezieht sich Pickling auf das Konvertieren eines Python-Objekts (Listen, Wörterbücher usw.) in einen Binärstrom, und Unpickling bezieht sich auf das Konvertieren eines binären Datenstroms in ein Python-Objekt.

Der konvertierte binäre Datenstrom enthält alle Informationen, um das ursprüngliche Objekt zu rekonstruieren. Leider gelten Pickle-Dateien im Allgemeinen als unsicher.

Pickle-Dateien werden verwendet, um den Status eines Programms (Werte von Variablen, Objekten und deren Status usw.) zu speichern, Python-Objekte in Form von serialisierten Binärzeichenfolgen in Datenbanken zu speichern, Daten über TCP oder Transmission Control Protocol zu senden usw.

Beim Trainieren von Modellen für maschinelles Lernen werden Pickle-Dateien verwendet, um Modellgewichtungen zu speichern, und manchmal werden die geladenen Trainingsdaten oder die formatierten Trainingsdaten in Form von Pickle-Dateien wieder auf der Festplatte gespeichert.

In diesem Artikel werden wir verstehen, wie man diese Pickle-Dateien mit Python liest. Wir werden zwei solcher Wege besprechen.

Lesen einer Pickle-Datei mit dem pickle-Modul in Python

Python hat ein eingebautes Modul, pickle, das Dienstprogramme zum Serialisieren und Deserialisieren von Daten mit Python enthält. Diese Daten können in Pickle-Dateien gespeichert werden.

Wir können das Modul pickle verwenden, um eine Pickle-Datei mit Python zu lesen. Siehe dazu den folgenden Python-Code.

objects = []
file_name = "/path/to/the/pickle/file"

with (open(file_name, "rb")) as f:
    while True:
        try:
            objects.append(pickle.load(f))
        except EOFError:
            break

Im obigen Code enthält die Variable objects alle Daten der Pickle-Datei.

Der Code durchläuft die Datei, um sie zu lesen, bis eine EOFError-Ausnahme gefunden wird. Das gleiche ist, dass die Daten in Objekten innerhalb einer Pickle-Datei gespeichert werden.

Die Funktion load() aus dem Modul pickle liest nur ein einzelnes Objekt. Nach dem Lesen eines Objekts zeigt der Dateizeiger auf den Anfang des nächsten Objekts in der Pickle-Datei.

Weitere Informationen finden Sie in der hier verlinkten Dokumentation.

Lesen einer Pickle-Datei mit dem pandas-Modul in Python

Wir können die Bibliothek pandas verwenden, um eine Pickle-Datei in Python zu lesen.

Das pandas-Modul hat eine read_pickle()-Methode, mit der eine Pickle-Datei gelesen werden kann.

Diese Methode akzeptiert ein filepath_or_buffer-Argument: den Dateipfad, die URL oder den Puffer, aus dem die Pickle-Datei geladen wird. Diese Funktion gibt ein nicht ausgewähltes Objekt der Datei zurück.

Lassen Sie uns nun sehen, wie man diese Methode praktisch anwendet. Siehe dazu den folgenden Python-Code.

import pandas as pd

file_name = "/path/to/the/pickle/file"
objects = pd.read_pickle(file_name)

Um mehr über die Methode read_pickle() zu erfahren, siehe die offizielle Dokumentation hier.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Verwandter Artikel - Python Pickle