Lire un fichier Pickle en utilisant Python
-
Lire un fichier Pickle à l’aide du module
pickle
en Python -
Lire un fichier Pickle à l’aide du module
pandas
en Python
En Python, le décapage fait référence à la conversion d’un objet Python (listes, dictionnaires, etc.) en un flux binaire, et le décapage fait référence à la conversion d’un flux binaire de données en un objet Python.
Le flux de données binaire converti contient toutes les informations nécessaires pour reconstruire l’objet d’origine. Malheureusement, les fichiers pickle sont généralement considérés comme dangereux.
Les fichiers Pickle sont utilisés pour enregistrer l’état d’un programme (valeurs des variables, des objets et leurs états, etc.), stocker des objets Python dans des bases de données sous la forme de chaînes binaires sérialisées, envoyer des données via TCP ou Transmission Control Protocol, etc.
Lors de la formation de modèles d’apprentissage automatique, les fichiers pickle sont utilisés pour stocker les pondérations des modèles, et parfois, les données de formation chargées ou les données de formation formatées sont stockées sur le disque sous la forme de fichiers pickle.
Dans cet article, nous allons comprendre comment lire ces fichiers pickle en utilisant Python. Nous allons discuter de deux de ces façons.
Lire un fichier Pickle à l’aide du module pickle
en Python
Python a un module intégré, pickle
, qui contient des utilitaires pour la sérialisation et la désérialisation des données à l’aide de Python. Ces données peuvent être stockées dans des fichiers pickle.
On peut utiliser le module pickle
pour lire un fichier pickle en Python. Reportez-vous au code Python suivant pour la même chose.
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
Dans le code ci-dessus, la variable objects
contiendra toutes les données du fichier pickle.
Le code boucle sur le fichier pour le lire jusqu’à ce qu’une exception EOFError
soit trouvée. La même chose est que les données sont stockées dans des objets à l’intérieur d’un fichier pickle.
La fonction load()
du module pickle
ne lira qu’un seul objet. Après avoir lu un objet, le pointeur de fichier pointe vers le début de l’objet suivant dans le fichier pickle.
Reportez-vous à la documentation liée ici pour en savoir plus.
Lire un fichier Pickle à l’aide du module pandas
en Python
On peut utiliser la librairie pandas
pour lire un fichier pickle en Python.
Le module pandas
a une méthode read_pickle()
qui peut être utilisée pour lire un fichier pickle.
Cette méthode accepte un argument filepath_or_buffer
: le chemin du fichier, l’URL ou le tampon à partir duquel le fichier pickle sera chargé. Cette fonction renverra un objet non décapé du fichier.
Voyons maintenant comment utiliser cette méthode en pratique. Reportez-vous au code Python suivant pour la même chose.
import pandas as pd
file_name = "/path/to/the/pickle/file"
objects = pd.read_pickle(file_name)
Pour en savoir plus sur la méthode
read_pickle()
, reportez-vous à la documentation officielle ici.