Pickle Dictionary v Pythonu

Pickle Dictionary V Pythonu



Pickle lze použít k předběžnému zpracování rámců entity Python, což je proces převodu objektu z paměti na bajtový proud, který lze uložit na disk v binárním formátu. Tento postup je známý jako serializace. K tomu použijte metodu pickle dump(). Když je tento binární záznam znovu načten do programu Python, lze jej de-serializovat a převést zpět na objekt Pythonu pomocí metody pickle load().

Tento článek vás naučí, jak ukládat data, konkrétněji slovník, pomocí modulu pickle v Pythonu. Abychom mohli začít, musíme si opatřit okurkový modul. Pickle dump() přijímá tři parametry. První vstup určuje data, která se mají uložit. Druhý parametr je souborový objekt, který je vrácen, když je soubor otevřen v binárním režimu zápisu (wb). Argument pár klíč–hodnota je třetím parametrem. Protokol je definován tímto parametrem. Okurka se dělí na dva typy: NEJVYŠŠÍ PROTOKOL a VÝCHOZÍ PROTOKOL láku. K načtení nebo deserializaci dat se používá metoda pickle load(), jejímž prostřednictvím se získává souborový objekt otevřením souboru v režimu čtení-binární (rb).







Příklad 1: Serializace a deserializace dat v souboru Pickle pomocí funkce Pickle Dump and Load

V tomto příkladu se naučíme, jak serializovat a deserializovat data jako slovník s velmi jednoduchým kódem.




V kódu uvedeném na předchozím obrázku je importován první pickle modul z knihovny Python, aby bylo možné použít jeho metody. Poté se inicializuje slovník dat se 2 klíči a hodnotami a uloží se do proměnné s názvem „shape“. V dalším řádku je metoda pickle dump() použita k otevření nového souboru s názvem „info.p“ v režimu zápisu binární (wb) a data „shape“ jsou uložena v tomto souboru. Na dalším řádku je metoda pickle load() použita pro stejný soubor, do kterého jsme vypsali data v režimu rb. To vrací data našeho slovníku a je uloženo v proměnné s názvem „a“. Nakonec se tento vrácený objekt zobrazí na výstupním terminálu pomocí příkazu print, jak je znázorněno na následujícím snímku obrazovky.



Vidíme, že data byla poprvé uložena do souboru „info.p“ pomocí metody dump. Poté, když jsme použili metodu load() na stejný soubor, dostali jsme zpět naše data.





Příklad 2: Použití funkce Pickle Dump s dodatečným protokolem k serializaci dat v Pythonu

Toto je podobný příklad, ve kterém používáme dodatečný protokol, „HIGHEST_PROTOCOL“, pickle, což je nejnovější protokol. Tento protokol umožňuje nové jazykové funkce, které můžeme používat, a zahrnuje optimalizace.




V kódu uvedeném na předchozím obrázku je importován první modul moření. Poté se inicializuje slovník jedné položky s klíčem a hodnotou a uloží se do proměnné „a“. Na dalším řádku se otevře nový soubor, který je „info.p“ v režimu wb jako handle. Nyní je soubor v objektu zvaném „handle“. Potom se použije funkce dump() k „zpracování“ se slovníkem „a“ pomocí „HIGHEST_PROTOCOL“. To umožňuje uložit slovník v „a“ do souboru „info.p“ na disku počítače. Chcete-li ze souboru extrahovat informace, soubor se nejprve otevře v režimu „rb“. Poté se pro tento soubor použije metoda pickle load(). Vrácená data jsou uložena v atributu „b“. Nakonec pomocí příkazu print se tato informace zobrazí ve výstupním uzlu, jak je vidět na následujícím snímku obrazovky:

Příklad 3: Serializace a deseralizace seznamu dat v souboru Pickle pomocí funkce Pickle Dump and Load

V tomto příkladu je nejprve importován modul moření. Poté jsou některá data vložena do slovníku ve formátu seznamu a uložena do proměnné „shape_colors“. V dalším řádku je metoda pickle dump() použita přímo s těmito daty. Místo souboru v jeho parametru se v režimu wb otevře soubor „info.p“. V důsledku toho jsou nyní data slovníku uložena v tomto souboru, který je uložen na disku počítače. Ke čtení dat ze souboru se pak ve stejném souboru použije metoda pickle load(). Vrácená data jsou uložena v proměnné „a“. Nakonec pomocí příkazu print se tato informace zobrazí na sekundárních terminálech, jak je znázorněno na následujícím snímku:



Příklad 4: Ukládání informací do souboru Pickle pomocí funkcí Pickle Dump a Load s různými parametry

V poskytnutém kódu je importován první modul moření. Poté se inicializuje slovník platů a uloží se do proměnné „platy“. Na dalším řádku se otevře nový soubor „salary.p“ v režimu wb jako handle. Nyní je soubor v objektu zvaném „handle“. Poté se použije funkce pickle dump() pro „manipulaci“ se slovníkem „platy“ pomocí „HIGHEST_PROTOCOL“. To umožňuje uložit slovník v „platech“ do souboru „salary.p“ na disk počítače. Nyní, aby bylo možné získat data zpět ze souboru, je soubor nejprve otevřen v režimu „rb“. Poté se pro tento soubor použije metoda pickle load(). Vrácená informace se uloží do proměnné „a“. Nakonec se tato data pomocí příkazu print zobrazí na výstupním konci, jak je znázorněno na následujícím snímku:



Příklad 5: Serializace a deserializace dat ve více dimenzích v souboru Pickle pomocí funkce Pickle Dump and Load

Vytváření datových rámců (vícerozměrných tabulek) v Pythonu je užitečné pro testování nových metod a funkcí nalezených v modulu Panda v Pythonu. Existují různé metody, jak vytvořit DataFrame od začátku, ale jednou z nejjednodušších je použít základní slovník.


V kódu uvedeném na předchozím obrázku jsou importovány první moduly pickle a Pandas. Poté je pomocí metody pd.DataFrame() vytvořena vícerozměrná tabulka. Dalším atributem strategie je seznam čtyř seznamů. Každý seznam odpovídá řádku tabulky. Druhý parametr je „columns“, který definuje záhlaví každého sloupce tabulky. Tento DataFrame je uložen v „pre“. Poté se v režimu wb otevře nový soubor „attendance.p“ a na tento soubor s DataFrame se použije metoda pickle dump(). Nyní jsou naše specifikovaná data uložena v souboru „attendance.p“ na pevném disku počítače.


Abychom získali data ze souboru, otevřeme soubor v režimu rb, který umožňuje čtení souboru. Poté se v souboru „attendance.p“ použije metoda pickle load(). Nakonec se data v souboru zobrazí na výstupním terminálu. Jak vidíme, celý DataFrame je zobrazen na výstupním terminálu, který je uložen v souboru „attendance.p“.

Závěr

Při práci s pilníky na okurky dodržujte zvláštní opatření. Okurkový modul postrádá zabezpečení. Odstraňte pouze data, o kterých jste si jisti. Je možné vytvořit zákeřná data, která mohou během procesu oddělování spustit libovolný kód. Je to však efektivní metoda ukládání slovníků, seznamů a tabulek v Pythonu. Moření je zvláště výhodné při analýze dat, když s daty provádíte rutinní operace, jako je předběžné zpracování. Doufám, že vám tento článek pomohl dozvědět se o různých metodách modulu pickle v Pythonu a jak jej používat se slovníky.