Dicţionar Pickle în Python

Dictionar Pickle In Python



Pickle poate fi folosit pentru a preprocesa cadrele de entitate Python, care este procesul de conversie a unui obiect din memorie într-un flux de octeți care poate fi salvat pe disc ca format binar. Această procedură este cunoscută sub numele de serializare. Pentru a realiza acest lucru, utilizați metoda pickle dump(). Când această înregistrare binară este încărcată din nou într-un program Python, poate fi deserializată și convertită înapoi într-un obiect Python folosind metoda pickle load().

Acest articol vă învață cum să stocați datele, mai precis un dicționar, folosind modulul pickle al lui Python. Pentru început, trebuie să achiziționăm modulul murături. Pickle dump() acceptă trei parametri. Prima intrare specifică datele de salvat. Al doilea parametru este obiectul fișier care este returnat atunci când un fișier este deschis în modul scriere-binar (wb). Argumentul cheie-valoare este al treilea parametru. Protocolul este definit de acest parametru. Un murat este clasificat în două tipuri: PROTOCOLUL CEL MAI ÎNALT, precum și PROTOCOL IMPLICIT pentru murat. Pentru a prelua sau deserializa datele, se folosește metoda pickle load() prin care se obține un obiect fișier prin deschiderea unui fișier în modul citire-binar (rb).







Exemplul 1: Serializarea și deserializarea datelor dintr-un fișier Pickle folosind funcția Pickle Dump and Load

În acest exemplu, vom învăța cum să serializeze și să deserializeze datele ca un dicționar cu un cod foarte simplu.




În codul prezentat în ilustrația anterioară, primul modul pickle din biblioteca Python este importat pentru ca metodele acestuia să poată fi utilizate. Apoi, un dicționar de date cu 2 chei și valori este inițializat și stocat în variabila numită „formă”. În rândul următor, metoda pickle dump() este folosită pentru a deschide un fișier nou cu numele „info.p” în modul scriere-binar (wb), iar datele „forme” sunt stocate în acest fișier. În rândul următor, metoda pickle load() este folosită pentru același fișier în care am descărcat datele în modul rb. Aceasta returnează datele din dicționar și este stocată în variabila numită „a”. În cele din urmă, acest obiect returnat este afișat la terminalul de ieșire folosind comanda de imprimare, așa cum se arată în următoarea captură de ecran.



Putem vedea că datele au fost mai întâi stocate în fișierul „info.p” folosind metoda dump. Apoi, când am folosit metoda load() în același fișier, ne-am recuperat datele.





Exemplul 2: Utilizarea funcției Pickle Dump cu un protocol suplimentar pentru a serializa datele în Python

Acesta este un exemplu similar în care folosim un protocol suplimentar, „HIGHEST_PROTOCOL”, de pickle, care este cel mai recent protocol. Acest protocol permite noi funcții de limbaj pe care le putem folosi și include optimizări.




În codul furnizat în ilustrația anterioară, primul modul murat este importat. Apoi, un dicționar al unui articol cu ​​o cheie și o valoare este inițializat și stocat în variabila „a”. În rândul următor, un fișier nou care este „info.p” este deschis în modul wb ca mâner. Acum, fișierul se află în obiectul numit „mâner”. Apoi, funcția dump() este folosită pentru a „manebra” cu dicționarul „a” folosind „PROTOCOLUL CEL MAI ÎNALT”. Acest lucru permite salvarea dicționarului din „a” în fișierul „info.p” de pe discul computerului. Pentru a extrage informațiile din fișier, fișierul este deschis mai întâi în modul „rb”. Apoi, metoda pickle load() este folosită pentru acest fișier. Datele returnate sunt salvate în atributul „b”. În cele din urmă, folosind comanda print, aceste informații sunt afișate la nodul de ieșire, așa cum se vede în următoarea captură de ecran:

Exemplul 3: Serializarea și deserializarea unei liste de date dintr-un fișier Pickle utilizând funcția Pickle Dump and Load

În acest exemplu, modulul pickle este importat mai întâi. Apoi, unele date sunt inserate într-un dicționar într-un format de listă și stocate în variabila „shape_colors”. În rândul următor, metoda pickle dump() este folosită direct cu aceste date. În locul fișierului din parametrul său, fișierul „info.p” este deschis în modul wb. Ca rezultat, datele din dicționar sunt acum aruncate în acest fișier care este stocat pe discul computerului. Apoi, pentru a citi datele din fișier, metoda pickle load() este folosită pe același fișier. Datele returnate sunt salvate în variabila „a”. În cele din urmă, folosind comanda print, aceste informații sunt afișate la terminalele secundare, așa cum este prezentat în următorul instantaneu:



Exemplul 4: Stocarea informațiilor într-un fișier Pickle utilizând funcțiile Pickle Dump și Încărcare cu diferiți parametri

În codul furnizat, este importat primul modul murat. Apoi, un dicționar de salarii este inițializat și stocat în variabila „salarii”. În rândul următor, un nou fișier „salary.p” este deschis în modul wb ca mâner. Acum, fișierul se află în obiectul numit „mâner”. Apoi, funcția pickle dump() este folosită pentru a „trata” cu dicționarul „salarii” folosind „HIGHEST_PROTOCOL”. Acest lucru permite salvarea dicționarului din „salarii” în fișierul „salariu.p” pe discul computerului. Acum, pentru a prelua datele înapoi din fișier, fișierul este mai întâi deschis în modul „rb”. Apoi, metoda pickle load() este folosită pentru acest fișier. Informațiile inversate sunt salvate în variabila „a”. În cele din urmă, prin utilizarea comenzii print, aceste date sunt afișate la capătul de ieșire, așa cum este descris în următorul instantaneu:



Exemplul 5: Serializarea și deserializarea datelor în dimensiuni multiple într-un fișier Pickle utilizând funcția Pickle Dump and Load

Crearea de DataFrames (tabele multidimensionale) în Python este utilă pentru a testa noi metode și funcții găsite în modulul Panda din Python. Există diverse metode de a construi un DataFrame de la zero, dar una dintre cele mai simple este utilizarea unui dicționar de bază.


În codul furnizat în ilustrația anterioară, sunt importate primele module pickle și Pandas. Apoi, un tabel multidimensional este creat folosind metoda pd.DataFrame(). Următorul atribut al strategiei este o listă de patru liste. Fiecare listă corespunde unui rând din tabel. Al doilea parametru este „coloanele”, care definește antetul fiecărei coloane din tabel. Acest DataFrame este stocat în „pre”. Apoi, un nou fișier care este „attendance.p” este deschis în modul wb și metoda pickle dump() este folosită pe acest fișier cu DataFrame. Acum, datele noastre specificate sunt stocate în fișierul „attendance.p” de pe hard diskul computerului.


Pentru a prelua datele din fișier, deschidem fișierul în modul rb care permite citirea fișierului. Apoi, metoda pickle load() este folosită în fișierul „attendance.p”. În cele din urmă, datele din fișier sunt afișate la terminalul de ieșire. După cum putem vedea, întregul DataFrame este afișat la terminalul de ieșire care este stocat în fișierul „attendance.p”.

Concluzie

Luați măsuri de precauție suplimentare atunci când lucrați cu pile murate. Modulului murături îi lipsește securitatea. Decuplați numai datele în care aveți încredere. Este posibil să creați date rău intenționate care ar putea executa cod arbitrar în timpul procesului de decapare. Este, totuși, o metodă eficientă de stocare a dicționarelor, listelor și tabelelor în Python. Decaparea este benefică în special în analiza datelor atunci când executați operațiuni de rutină asupra datelor, cum ar fi preprocesarea. Sper că acest articol te-a ajutat să înveți despre diferitele metode ale modulului pickle din Python și cum să-l folosești cu dicționare.