Pickle Dictionary v Pythone

Pickle Dictionary V Pythone



Pickle možno použiť na predbežné spracovanie rámcov entity Python, čo je proces prevodu objektu z pamäte na bajtový prúd, ktorý možno uložiť na disk v binárnom formáte. Tento postup je známy ako serializácia. Aby ste to dosiahli, použite metódu pickle dump(). Keď sa tento binárny záznam znova načíta do programu Python, možno ho zrušiť serializáciou a skonvertovať späť na objekt Python pomocou metódy pickle load().

Tento článok vás naučí, ako ukladať údaje, konkrétnejšie slovník, pomocou modulu Python. Aby sme mohli začať, musíme si zaobstarať modul na morenie. Pickle dump() akceptuje tri parametre. Prvý vstup určuje údaje, ktoré sa majú uložiť. Druhým parametrom je objekt súboru, ktorý sa vráti, keď sa súbor otvorí v binárnom režime zápisu (wb). Argument kľúč – hodnota je tretím parametrom. Protokol je definovaný týmto parametrom. Nakladacia uhorka sa delí na dva typy: NAJVYŠŠÍ PROTOKOL a PREDVOLENÝ PROTOKOL nakladanej uhorky. Na získanie alebo deserializáciu údajov sa používa metóda pickle load(), prostredníctvom ktorej sa získa objekt súboru otvorením súboru v režime čítania (rb).







Príklad 1: Serializácia a deserializácia údajov v súbore Pickle pomocou funkcie Pickle Dump and Load

V tomto príklade sa naučíme, ako serializovať a deserializovať údaje ako slovník s veľmi jednoduchým kódom.




V kóde uvedenom na predchádzajúcej ilustrácii je importovaný prvý pickle modul z knižnice Python, aby bolo možné použiť jeho metódy. Potom sa inicializuje slovník údajov s 2 kľúčmi a hodnotami a uloží sa do premennej s názvom „shape“. V ďalšom riadku sa metóda pickle dump() používa na otvorenie nového súboru s názvom „info.p“ v režime zápisu binárneho (wb) a údaje „shape“ sú uložené v tomto súbore. V ďalšom riadku sa metóda pickle load() použije pre ten istý súbor, do ktorého sme vypísali údaje v režime rb. Tým sa vrátia údaje nášho slovníka a sú uložené v premennej s názvom „a“. Nakoniec sa tento vrátený objekt zobrazí na výstupnom termináli pomocou príkazu print, ako je znázornené na nasledujúcom obrázku.



Vidíme, že údaje boli prvýkrát uložené do súboru „info.p“ pomocou metódy dump. Potom, keď sme použili metódu load() na rovnaký súbor, dostali sme späť naše údaje.





Príklad 2: Použitie funkcie Pickle Dump s dodatočným protokolom na serializáciu údajov v Pythone

Toto je podobný príklad, v ktorom používame dodatočný protokol „HIGHEST_PROTOCOL“ od pickle, čo je najnovší protokol. Tento protokol umožňuje nové jazykové funkcie, ktoré môžeme použiť a zahŕňa optimalizácie.




V kóde uvedenom na predchádzajúcom obrázku je importovaný prvý moriaci modul. Potom sa inicializuje slovník jednej položky s kľúčom a hodnotou a uloží sa do premennej „a“. V nasledujúcom riadku sa otvorí nový súbor, ktorý je „info.p“ v režime wb ako rukoväť. Teraz je súbor v objekte s názvom „handle“. Potom sa funkcia dump() použije na „spracovanie“ so slovníkom „a“ pomocou „HIGHEST_PROTOCOL“. To umožňuje uložiť slovník v „a“ do súboru „info.p“ na disku počítača. Ak chcete zo súboru extrahovať informácie, súbor sa najskôr otvorí v režime „rb“. Potom sa pre tento súbor použije metóda pickle load(). Vrátené údaje sú uložené v atribúte „b“. Nakoniec pomocou príkazu print sa tieto informácie zobrazia vo výstupnom uzle, ako je vidieť na nasledujúcom obrázku obrazovky:

Príklad 3: Serializácia a deserializácia zoznamu údajov v súbore Pickle pomocou funkcie Pickle Dump and Load

V tomto príklade sa najskôr importuje modul morenia. Potom sa niektoré údaje vložia do slovníka vo formáte zoznamu a uložia sa do premennej „shape_colors“. V ďalšom riadku je metóda pickle dump() použitá priamo s týmito údajmi. Namiesto súboru v jeho parametri sa v režime wb otvorí súbor „info.p“. V dôsledku toho sú teraz údaje zo slovníka uložené v tomto súbore, ktorý je uložený na disku počítača. Na čítanie údajov zo súboru sa potom v rovnakom súbore použije metóda pickle load(). Vrátené údaje sa uložia do premennej „a“. Nakoniec pomocou príkazu print sa tieto informácie zobrazia na sekundárnych termináloch, ako je znázornené na nasledujúcom obrázku:



Príklad 4: Ukladanie informácií v súbore nakladanej zeleniny pomocou funkcií Pickle Dump a Load s rôznymi parametrami

V poskytnutom kóde je importovaný prvý moriaci modul. Potom sa inicializuje slovník platov a uloží sa do premennej „platy“. V ďalšom riadku sa otvorí nový súbor „plat.p“ v režime wb ako handle. Teraz je súbor v objekte s názvom „handle“. Potom sa funkcia pickle dump() použije na „spracovanie“ so slovníkom „platy“ pomocou „HIGHEST_PROTOCOL“. To umožňuje uložiť slovník v „platoch“ do súboru „salary.p“ na disk počítača. Teraz, aby bolo možné získať dáta späť zo súboru, súbor sa najprv otvorí v režime „rb“. Potom sa pre tento súbor použije metóda pickle load(). Vrátené informácie sa uložia do premennej „a“. Nakoniec pomocou príkazu print sa tieto údaje zobrazia na výstupnom konci, ako je znázornené na nasledujúcej snímke:



Príklad 5: Serializácia a deserializácia údajov vo viacerých dimenziách v súbore Pickle pomocou funkcie Pickle Dump and Load

Vytváranie DataFrames (viacrozmerných tabuliek) v Pythone je užitočné na testovanie nových metód a funkcií, ktoré sa nachádzajú v module Panda v Pythone. Existujú rôzne metódy na vytvorenie dátového rámca od začiatku, ale jedným z najjednoduchších je použiť základný slovník.


V kóde uvedenom na predchádzajúcej ilustrácii sú importované prvé ohorky a moduly Pandas. Potom sa pomocou metódy pd.DataFrame() vytvorí viacrozmerná tabuľka. Ďalším atribútom stratégie je zoznam štyroch zoznamov. Každý zoznam zodpovedá riadku tabuľky. Druhý parameter je „columns“, ktorý definuje hlavičku každého stĺpca tabuľky. Tento DataFrame je uložený v „pre“. Potom sa v režime wb otvorí nový súbor „attendance.p“ a na tento súbor s DataFrame sa použije metóda pickle dump(). Teraz sú naše špecifikované údaje uložené v súbore „attendance.p“ na pevnom disku počítača.


Na získanie údajov zo súboru otvoríme súbor v režime rb, ktorý umožňuje čítanie súboru. Potom sa metóda pickle load() použije v súbore „attendance.p“. Nakoniec sa údaje v súbore zobrazia na výstupnom termináli. Ako vidíme, celý DataFrame je zobrazený na výstupnom termináli, ktorý je uložený v súbore „attendance.p“.

Záver

Pri práci s pilníkmi na uhorky dbajte na zvýšenú opatrnosť. Uhorkovému modulu chýba zabezpečenie. Odoberajte iba údaje, o ktorých ste si istí. Je možné vytvoriť škodlivé údaje, ktoré môžu počas procesu odobratia spustiť ľubovoľný kód. Je to však efektívny spôsob ukladania slovníkov, zoznamov a tabuliek v Pythone. Morenie je obzvlášť výhodné pri analýze údajov, keď vykonávate rutinné operácie s údajmi, ako je napríklad predbežné spracovanie. Dúfam, že vám tento článok pomohol dozvedieť sa o rôznych metódach modulu pickle v Pythone a o tom, ako ho používať so slovníkmi.