Pickle Dictionary em Python

Pickle Dictionary Em Python



Pickle pode ser usado para pré-processar as estruturas de entidade Python, que é o processo de conversão de um objeto da memória em um fluxo de bytes que pode ser salvo no disco como um formato binário. Este procedimento é conhecido como serialização. Para fazer isso, use o método pickle dump(). Quando esse registro binário é carregado em um programa Python novamente, ele pode ser desserializado e convertido de volta em um objeto Python usando o método pickle load().

Este artigo ensina como armazenar os dados, mais especificamente um dicionário, usando o módulo pickle do Python. Para começar, devemos adquirir o módulo de picles. Pickle dump() aceita três parâmetros. A primeira entrada especifica os dados a serem salvos. O segundo parâmetro é o objeto de arquivo que é retornado quando um arquivo é aberto no modo de gravação binária (wb). O argumento de valor-chave é o terceiro parâmetro. O protocolo é definido por este parâmetro. Um picles é classificado em dois tipos: PROTOCOLO MAIS ALTO e PROTOCOLO PADRÃO de picles. Para recuperar ou desserializar os dados, o método pickle load() é usado por meio do qual um objeto de arquivo é obtido abrindo um arquivo no modo de leitura binária (rb).







Exemplo 1: Serialização e desserialização de dados em um arquivo Pickle usando a função Pickle Dump and Load

Neste exemplo, aprenderemos a serializar e desserializar os dados como um dicionário com um código muito simples.




No código apresentado na ilustração anterior, o primeiro módulo pickle da biblioteca Python é importado para que seus métodos possam ser utilizados. Em seguida, um dicionário de dados com 2 chaves e valores é inicializado e armazenado na variável chamada “shape”. Na próxima linha, o método pickle dump() é usado para abrir um novo arquivo com o nome “info.p” no modo write-binary (wb) e os dados “shape” são armazenados neste arquivo. Na próxima linha, o método pickle load() é empregado para o mesmo arquivo no qual descarregamos os dados no modo rb. Isso retorna os dados do nosso dicionário e é armazenado na variável chamada “a”. Por fim, esse objeto retornado é exibido no terminal de saída usando o comando print conforme mostrado na captura de tela a seguir.



Podemos ver que os dados foram armazenados primeiro no arquivo “info.p” usando o método dump. Então, quando empregamos o método load() no mesmo arquivo, recuperamos nossos dados.





Exemplo 2: Usando a função Pickle Dump com um protocolo adicional para serializar os dados em Python

Este é um exemplo semelhante em que usamos um protocolo adicional, o “HIGHEST_PROTOCOL”, do pickle que é o protocolo mais recente. Este protocolo permite novos recursos de linguagem que podemos usar e incluir otimizações.




No código fornecido na ilustração anterior, o primeiro módulo pickle é importado. Em seguida, um dicionário de um item com chave e valor é inicializado e armazenado na variável “a”. Na próxima linha, um novo arquivo que é o “info.p” é aberto no modo wb como um identificador. Agora, o arquivo está no objeto chamado “handle”. Então, a função dump() é empregada para “manipular” com o dicionário “a” usando o “HIGHEST_PROTOCOL”. Isso permite que o dicionário em “a” seja salvo no arquivo “info.p” no disco do computador. Para extrair as informações do arquivo, o arquivo é aberto primeiro no modo “rb”. Em seguida, o método pickle load() é empregado para este arquivo. Os dados retornados são salvos no atributo “b”. Por fim, utilizando o comando print, essas informações são exibidas no nó de saída, conforme a captura de tela a seguir:

Exemplo 3: serialização e desserialização de uma lista de dados em um arquivo Pickle usando a função Pickle Dump and Load

Neste exemplo, o módulo pickle é importado primeiro. Em seguida, alguns dados são inseridos em um dicionário em formato de lista e armazenados na variável “shape_colors”. Na próxima linha, o método pickle dump() é empregado diretamente com esses dados. No lugar do arquivo em seu parâmetro, o arquivo “info.p” é aberto no modo wb. Como resultado, os dados do dicionário agora são despejados neste arquivo que é armazenado no disco do computador. Então, para ler os dados do arquivo, o método pickle load() é empregado no mesmo arquivo. Os dados retornados são salvos na variável “a”. Por fim, usando o comando print, essas informações são exibidas nos terminais secundários, conforme ilustrado no seguinte instantâneo:



Exemplo 4: Armazenando Informações em um Arquivo Pickle Usando as Funções Pickle Dump e Load com Parâmetros Diferentes

No código fornecido, o primeiro módulo pickle é importado. Em seguida, um dicionário de salários é inicializado e armazenado na variável “salários”. Na próxima linha, um novo arquivo “salary.p” é aberto no modo wb como um identificador. Agora, o arquivo está no objeto chamado “handle”. Então, a função pickle dump() é empregada para “tratar” com o dicionário “salários” usando o “HIGHEST_PROTOCOL”. Isso permite que o dicionário em “salários” seja salvo no arquivo “salário.p” no disco do computador. Agora, para recuperar os dados do arquivo, o arquivo é aberto primeiro no modo “rb”. Em seguida, o método pickle load() é empregado para este arquivo. A informação revertida é salva na variável “a”. Por fim, usando o comando de impressão, esses dados são exibidos no final da saída, conforme ilustrado no seguinte instantâneo:



Exemplo 5: serialização e desserialização de dados em várias dimensões em um arquivo Pickle usando a função Pickle Dump and Load

A criação de DataFrames (tabelas multidimensionais) em Python é útil para testar novos métodos e funções encontradas no módulo Panda do Python. Existem vários métodos para construir um DataFrame do zero, mas um dos mais simples é utilizar um dicionário básico.


No código fornecido na ilustração anterior, os primeiros módulos Pickle e Pandas são importados. Em seguida, uma tabela multidimensional é criada usando o método pd.DataFrame(). O próximo atributo da estratégia é uma lista de quatro listas. Cada lista corresponde a uma linha da tabela. O segundo parâmetro é “colunas” que define o cabeçalho de cada coluna da tabela. Este DataFrame é armazenado em “pré”. Em seguida, um novo arquivo chamado “attendance.p” é aberto no modo wb e o método pickle dump() é empregado neste arquivo com o DataFrame. Agora, nossos dados especificados são armazenados no arquivo “attendance.p” no disco rígido do computador.


Para recuperar os dados do arquivo, abrimos o arquivo no modo rb que permite a leitura do arquivo. Em seguida, o método pickle load() é empregado no arquivo “attendance.p”. Finalmente, os dados no arquivo são exibidos no terminal de saída. Como podemos ver, todo o DataFrame é exibido no terminal de saída que está armazenado no arquivo “attendance.p”.

Conclusão

Tome precauções extras ao trabalhar com arquivos de picles. O módulo pickle carece de segurança. Descompacte apenas os dados nos quais você confia. É possível criar dados de decapagem maliciosos que podem executar código arbitrário durante o processo de decapagem. É, no entanto, um método eficaz de armazenamento de dicionários, listas e tabelas em Python. A decapagem é especialmente benéfica na análise de dados quando você está executando operações de rotina nos dados, como pré-processamento. Espero que este artigo tenha ajudado você a aprender sobre os diferentes métodos do módulo pickle do Python e como usá-lo com dicionários.