Diccionario Pickle en Python

Diccionario Pickle En Python



Pickle se puede usar para preprocesar los marcos de entidades de Python, que es el proceso de convertir un objeto de la memoria en un flujo de bytes que se puede guardar en un disco como formato binario. Este procedimiento se conoce como serialización. Para lograr esto, use el método pickle dump(). Cuando este registro binario se vuelve a cargar en un programa de Python, se puede deserializar y volver a convertir en un objeto de Python mediante el método pickle load().

Este artículo le enseña cómo almacenar los datos, más específicamente un diccionario, utilizando el módulo pickle de Python. Para comenzar, debemos adquirir el módulo pickle. Pickle dump() acepta tres parámetros. La primera entrada especifica los datos a guardar. El segundo parámetro es el objeto de archivo que se devuelve cuando se abre un archivo en modo de escritura binaria (wb). El argumento clave-valor es el tercer parámetro. El protocolo está definido por este parámetro. Un pickle se clasifica en dos tipos: PROTOCOLO MÁS ALTO y PROTOCOLO POR DEFECTO de pickle. Para recuperar o deserializar los datos, se utiliza el método pickle load() a través del cual se obtiene un objeto de archivo al abrir un archivo en modo de lectura binaria (rb).







Ejemplo 1: Serialización y deserialización de datos en un archivo Pickle usando la función Pickle Dump and Load

En este ejemplo, aprenderemos cómo serializar y deserializar los datos como un diccionario con un código muy simple.




En el código presentado en la ilustración anterior, se importa el primer módulo pickle de la biblioteca de Python para poder utilizar sus métodos. Luego, un diccionario de datos con 2 claves y valores se inicializa y se almacena en la variable denominada 'forma'. En la siguiente línea, el método pickle dump() se usa para abrir un nuevo archivo con el nombre 'info.p' en modo de escritura binaria (wb) y los datos de 'forma' se almacenan en este archivo. En la siguiente línea, se emplea el método pickle load() para el mismo archivo en el que volcamos los datos en modo rb. Esto devuelve los datos de nuestro diccionario y se almacena en la variable denominada 'a'. Finalmente, este objeto devuelto se muestra en el terminal de salida usando el comando de impresión como se muestra en la siguiente captura de pantalla.



Podemos ver que los datos se almacenaron primero en el archivo 'info.p' utilizando el método de volcado. Luego, cuando empleamos el método load() en el mismo archivo, recuperamos nuestros datos.  





Ejemplo 2: uso de la función Pickle Dump con un protocolo adicional para serializar los datos en Python

Este es un ejemplo similar en el que usamos un protocolo adicional, el 'HIGHEST_PROTOCOL', de pickle, que es el último protocolo. Este protocolo permite nuevas funciones de lenguaje que podemos usar e incluir optimizaciones.




En el código proporcionado en la ilustración anterior, se importa el primer módulo pickle. Luego, un diccionario de un elemento con una clave y un valor se inicializa y se almacena en la variable 'a'. En la siguiente línea, se abre un nuevo archivo que es el 'info.p' en modo wb como identificador. Ahora, el archivo está en el objeto llamado 'mango'. Luego, la función dump() se emplea para 'manejar' con el diccionario 'a' usando el 'HIGHEST_PROTOCOL'. Esto permite guardar el diccionario en “a” en el archivo “info.p” en el disco de la computadora. Para extraer la información del archivo, primero se abre el archivo en modo 'rb'. Luego, se emplea el método pickle load() para este archivo. Los datos devueltos se guardan en el atributo 'b'. Finalmente, usando el comando de impresión, esta información se muestra en el nodo de salida, como se ve en la siguiente captura de pantalla:

Ejemplo 3: Serialización y deserialización de una lista de datos en un archivo Pickle usando la función Pickle Dump and Load

En este ejemplo, el módulo pickle se importa primero. Luego, algunos datos se insertan en un diccionario en formato de lista y se almacenan en la variable 'shape_colors'. En la siguiente línea, el método pickle dump() se emplea directamente con estos datos. En lugar del archivo en su parámetro, el archivo 'info.p' se abre en modo wb. Como resultado, los datos del diccionario ahora se vuelcan en este archivo que se almacena en el disco de la computadora. Luego, para leer los datos del archivo, se emplea el método pickle load() en el mismo archivo. Los datos devueltos se guardan en la variable 'a'. Finalmente, usando el comando de impresión, esta información se muestra en las terminales secundarias, como se muestra en la siguiente instantánea:


 

Ejemplo 4: Almacenamiento de información en un archivo Pickle usando las funciones Pickle Dump y Load con diferentes parámetros

En el código proporcionado, se importa el primer módulo pickle. Luego, se inicializa un diccionario de salarios y se almacena en la variable “salarios”. En la siguiente línea, se abre un nuevo archivo 'salary.p' en modo wb como identificador. Ahora, el archivo está en el objeto llamado 'mango'. Luego, la función pickle dump() se emplea para “manejar” con el diccionario “salarios” usando el “HIGHEST_PROTOCOL”. Esto permite guardar el diccionario en “salarios” en el archivo “salario.p” en el disco de la computadora. Ahora, para recuperar los datos del archivo, primero se abre el archivo en modo 'rb'. Luego, se emplea el método pickle load() para este archivo. La información revertida se guarda en la variable “a”. En última instancia, mediante el uso del comando de impresión, estos datos se muestran en el extremo de salida como se muestra en la siguiente instantánea:


 

Ejemplo 5: Serialización y deserialización de datos en múltiples dimensiones en un archivo Pickle usando la función Pickle Dump and Load

La creación de DataFrames (tablas multidimensionales) en Python es útil para probar nuevos métodos y funciones que se encuentran en el módulo de Python de Panda. Existen varios métodos para construir un DataFrame desde cero, pero uno de los más simples es utilizar un diccionario básico.


En el código provisto en la ilustración anterior, se importan los primeros módulos pickle y Pandas. Luego, se crea una tabla multidimensional utilizando el método pd.DataFrame(). El siguiente atributo de la estrategia es una lista de cuatro listas. Cada lista corresponde a una fila de la tabla. El segundo parámetro es 'columnas' que define el encabezado de cada columna de la tabla. Este DataFrame se almacena en 'pre'. Luego, se abre un nuevo archivo que es 'attendance.p' en modo wb y se emplea el método pickle dump() en este archivo con el DataFrame. Ahora, nuestros datos especificados se almacenan en el archivo 'attendance.p' en el disco duro de la computadora.


Para recuperar los datos del archivo, abrimos el archivo en modo rb que permite la lectura del archivo. Luego, se emplea el método pickle load() en el archivo “attendance.p”. Finalmente, los datos en el archivo se muestran en el terminal de salida. Como podemos ver, todo el DataFrame se muestra en el terminal de salida que se almacena en el archivo 'attendance.p'.

Conclusión

Tome precauciones adicionales cuando trabaje con limas encurtidas. El módulo pickle carece de seguridad. Deseleccione solo los datos en los que confía. Es posible crear datos de desecho maliciosos que podrían ejecutar código arbitrario durante el proceso de desecho. Sin embargo, es un método efectivo para almacenar diccionarios, listas y tablas en Python. El decapado es especialmente beneficioso en el análisis de datos cuando se ejecutan operaciones de rutina en los datos, como el preprocesamiento. Espero que este artículo te haya ayudado a conocer los diferentes métodos del módulo pickle de Python y cómo usarlo con diccionarios.