Leer un archivo Pickle usando Python

Vaibhav Vaibhav 30 enero 2023
  1. Lea un archivo Pickle usando el módulo pickle en Python
  2. Lea un archivo Pickle usando el módulo pandas en Python
Leer un archivo Pickle usando Python

En Python, decapado se refiere a convertir un objeto de Python (listas, diccionarios, etc.) en un flujo binario, y decapado se refiere a convertir un flujo binario de datos en un objeto de Python.

El flujo de datos binario convertido contiene toda la información para reconstruir el objeto original. Desafortunadamente, los archivos pickle generalmente se consideran inseguros.

Los archivos Pickle se utilizan para guardar el estado de un programa (valores de variables, objetos y sus estados, etc.), almacenar objetos de Python en bases de datos en forma de cadenas binarias serializadas, enviar datos a través de TCP o Protocolo de control de transmisión, etc.

Mientras se entrenan modelos de aprendizaje automático, los archivos pickle se utilizan para almacenar pesos de modelos y, a veces, los datos de entrenamiento cargados o los datos de entrenamiento formateados se almacenan nuevamente en el disco en forma de archivos pickle.

En este artículo, entenderemos cómo leer estos archivos pickle usando Python. Discutiremos dos de estas formas.

Lea un archivo Pickle usando el módulo pickle en Python

Python tiene un módulo incorporado, pickle, que contiene utilidades para serializar y deserializar datos usando Python. Estos datos se pueden almacenar en archivos pickle.

Podemos usar el módulo pickle para leer un archivo pickle usando Python. Consulte el siguiente código de Python para lo mismo.

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

En el código anterior, la variable objects contendrá todos los datos del archivo pickle.

El código recorre el archivo para leerlo hasta que se encuentra una excepción EOFError. Lo mismo es que los datos se almacenan en objetos dentro de un archivo pickle.

La función load() del módulo pickle solo leerá un único objeto. Después de leer un objeto, el puntero del archivo apunta al comienzo del siguiente objeto en el archivo pickle.

Consulte la documentación vinculada aquí para obtener más información.

Lea un archivo Pickle usando el módulo pandas en Python

Podemos usar la biblioteca pandas para leer un archivo pickle en Python.

El módulo pandas tiene un método read_pickle() que se puede usar para leer un archivo pickle.

Este método acepta un argumento filepath_or_buffer: la ruta del archivo, la URL o el búfer desde donde se cargará el archivo pickle. Esta función devolverá un objeto sin decapar del archivo.

Ahora veamos cómo usar este método de manera práctica. Consulte el siguiente código de Python para lo mismo.

import pandas as pd

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

Para obtener más información sobre el método read_pickle(), consulte la documentación oficial aquí.

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.

Artículo relacionado - Python Pickle