Pickle sõnaraamat Pythonis

Pickle Sonaraamat Pythonis



Pickle'i saab kasutada Pythoni olemiraamistike eeltöötlemiseks, mis on protsess, mille käigus teisendatakse objekt mälust baitivooks, mille saab binaarvormingus kettale salvestada. Seda protseduuri nimetatakse serialiseerimiseks. Selle saavutamiseks kasutage meetodit pickle dump(). Kui see binaarkirje laaditakse uuesti Pythoni programmi, saab selle deserialiseerida ja teisendada tagasi Pythoni objektiks, kasutades meetodit pickle load().

See artikkel õpetab teile, kuidas Pythoni hapukurgimooduli abil andmeid, täpsemalt sõnastikku, salvestada. Alustuseks peame hankima hapukurgi mooduli. Pickle dump() aktsepteerib kolme parameetrit. Esimene sisend määrab salvestatavad andmed. Teine parameeter on failiobjekt, mis tagastatakse faili avamisel kirjutusbinaarrežiimis (wb). Võtmeväärtuse argument on kolmas parameeter. Selle parameetriga määratakse protokoll. Hapukurk jaguneb kahte tüüpi: KÕRGEIM PROTOKOLL ja hapukurgi VAKEPROTOKOLL. Andmete toomiseks või deserialiseerimiseks kasutatakse meetodit pickle load(), mille kaudu saadakse failiobjekt, avades faili lugemis-binaarrežiimis (rb).







Näide 1: Pickle-faili andmete serialiseerimine ja deserialiseerimine, kasutades funktsiooni Pickle Dump and Load

Selles näites õpime, kuidas andmeid väga lihtsa koodiga sõnaraamatuna serialiseerida ja deserialiseerida.




Eelmisel joonisel esitatud koodis imporditakse Pythoni teegi esimene hapukurgimoodul, et saaks kasutada selle meetodeid. Seejärel lähtestatakse kahe võtme ja väärtusega andmete sõnastik ja salvestatakse muutuja nimega 'shape'. Järgmisel real kasutatakse meetodit pickle dump() uue faili nimega “info.p” avamiseks binaarrežiimis (wb) ja sellesse faili salvestatakse “shape” andmed. Järgmisel real kasutatakse meetodit pickle load() sama faili jaoks, kuhu me rb-režiimis andmed lisasime. See tagastab meie sõnastiku andmed ja salvestatakse muutujas nimega 'a'. Lõpuks kuvatakse see tagastatud objekt väljundterminalis, kasutades printimiskäsku, nagu on näidatud järgmisel ekraanipildil.



Näeme, et andmed salvestati esmalt faili 'info.p', kasutades dump meetodit. Seejärel, kui kasutasime sama faili jaoks meetodit load(), saime andmed tagasi.





Näide 2: Funktsiooni Pickle Dump kasutamine koos lisaprotokolliga andmete järjestamiseks Pythonis

See on sarnane näide, milles kasutame hapukurgi lisaprotokolli 'HIGHEST_PROTOCOL', mis on uusim protokoll. See protokoll võimaldab uusi keelefunktsioone, mida saame kasutada, ja sisaldab optimeerimisi.




Eelmisel joonisel toodud koodis imporditakse esimene hapukurgi moodul. Seejärel lähtestatakse ühe üksuse sõnastik koos võtme ja väärtusega ning salvestatakse muutujasse 'a'. Järgmisel real avatakse käepidemena wb-režiimis uus fail, mille nimi on 'info.p'. Nüüd on fail objektis nimega 'käepide'. Seejärel kasutatakse funktsiooni dump() sõnastikuga 'a' käsitlemiseks 'HIGHEST_PROTOCOL' abil. See võimaldab 'a'-sõnastiku salvestada arvuti kettale faili 'info.p'. Teabe eraldamiseks failist avatakse fail esmalt rb-režiimis. Seejärel kasutatakse selle faili jaoks meetodit pickle load(). Tagastatud andmed salvestatakse atribuuti “b”. Lõpuks, kasutades printimiskäsku, kuvatakse see teave väljundsõlmes, nagu on näha järgmises ekraanipildis:

Näide 3: Pickle-faili andmete loendi järjestamine ja deserialiseerimine, kasutades funktsiooni Pickle Dump and Load

Selles näites imporditakse kõigepealt hapukurgi moodul. Seejärel sisestatakse mõned andmed loendivormingus sõnastikku ja salvestatakse muutujasse 'shape_colors'. Järgmisel real kasutatakse nende andmetega otse meetodit pickle dump (). Faili asemel selle parameetris avatakse fail “info.p” wb-režiimis. Selle tulemusena sisestatakse sõnastiku andmed nüüd sellesse faili, mis on salvestatud arvuti kettale. Seejärel kasutatakse failist andmete lugemiseks samas failis meetodit pickle load(). Tagastatud andmed salvestatakse muutujasse “a”. Lõpuks, kasutades printimiskäsku, kuvatakse see teave sekundaarsetes terminalides, nagu on kujutatud järgmisel hetktõmmisel:



Näide 4: Teabe salvestamine hapukurgifaili, kasutades marineerimis- ja laadimisfunktsioone erinevate parameetritega

Esitatud koodis imporditakse esimene hapukurgi moodul. Seejärel initsialiseeritakse palkade sõnastik ja salvestatakse muutujasse 'palgad'. Järgmisel real avatakse käepidemena wb-režiimis uus fail “palk.p”. Nüüd on fail objektis nimega 'käepide'. Seejärel kasutatakse funktsiooni Pickle dump() sõnastikuga 'palkade' käsitlemiseks 'HIGHEST_PROTOCOL' abil. See võimaldab 'palkade' sõnastiku salvestada faili 'palk.p' arvuti kettale. Nüüd, et failist andmed tagasi tuua, avatakse fail esmalt rb-režiimis. Seejärel kasutatakse selle faili jaoks meetodit pickle load(). Tagastatud teave salvestatakse muutujasse “a”. Lõppkokkuvõttes kuvatakse need andmed printimiskäsu kasutamise kaudu väljundi lõpus, nagu on kujutatud järgmisel pildil:



Näide 5: Pickle-faili mitmemõõtmeliste andmete serialiseerimine ja deserialiseerimine, kasutades funktsiooni Pickle Dump and Load

DataFrame'ide (mitmemõõtmeliste tabelite) loomine Pythonis on mugav Pythoni Panda moodulis leiduvate uute meetodite ja funktsioonide testimiseks. DataFrame'i nullist ülesehitamiseks on erinevaid meetodeid, kuid üks lihtsamaid on põhisõnastiku kasutamine.


Eelmisel joonisel toodud koodis imporditakse esimene hapukurgi ja Panda moodulid. Seejärel luuakse meetodi pd.DataFrame() abil mitmemõõtmeline tabel. Strateegia järgmine atribuut on neljast loendist koosnev loend. Iga loend vastab tabeli reale. Teine parameeter on 'veerud', mis määrab tabeli iga veeru pealkirja. See DataFrame on salvestatud kaustas 'pre'. Seejärel avatakse wb-režiimis uus fail nimega 'attendance.p' ja selles failis koos DataFrame'iga kasutatakse meetodit pickle dump(). Nüüd on meie määratud andmed salvestatud arvuti kõvakettale faili 'attendance.p'.


Andmete toomiseks failist avame faili rb-režiimis, mis võimaldab faili lugeda. Seejärel kasutatakse failis „attendance.p” meetodit pickle load(). Lõpuks kuvatakse failis olevad andmed väljundterminalis. Nagu näeme, kuvatakse kogu DataFrame väljundterminalis, mis on salvestatud faili “attendance.p”.

Järeldus

Hapukurgiviilidega töötades võtke kasutusele täiendavad ettevaatusabinõud. Hapukurgimoodulil puudub turvalisus. Eemaldage ainult need andmed, milles olete kindel. Võimalik on luua pahatahtlikke hapuandmeid, mis võivad vabastamise protsessi käigus käivitada suvalise koodi. Sellegipoolest on see tõhus meetod sõnaraamatute, loendite ja tabelite salvestamiseks Pythonis. Marineerimine on eriti kasulik andmete analüüsimisel, kui teostate andmetega rutiinseid toiminguid, näiteks eeltöötlust. Loodan, et see artikkel aitas teil õppida tundma Pythoni hapukurgimooduli erinevaid meetodeid ja seda, kuidas seda sõnaraamatutega kasutada.