Pickle-sanakirja Pythonissa

Pickle Sanakirja Pythonissa



Pickleä voidaan käyttää Python-entiteettikehysten esikäsittelyyn, joka on prosessi, jossa objekti muunnetaan muistista tavuvirraksi, joka voidaan tallentaa levylle binäärimuodossa. Tätä menettelyä kutsutaan serialisoinniksi. Suorita tämä käyttämällä pickle dump() -menetelmää. Kun tämä binääritietue ladataan Python-ohjelmaan uudelleen, se voidaan purkaa ja muuntaa takaisin Python-objektiksi käyttämällä pickle load() -menetelmää.

Tämä artikkeli opettaa sinulle, kuinka tietoja, tarkemmin sanoen sanakirjaa, tallennetaan Pythonin suolakurkkumoduulin avulla. Aluksi meidän on hankittava suolakurkkumoduuli. Pickle dump() hyväksyy kolme parametria. Ensimmäinen syöte määrittää tallennettavat tiedot. Toinen parametri on tiedostoobjekti, joka palautetaan, kun tiedosto avataan kirjoitusbinääritilassa (wb). Avainarvo-argumentti on kolmas parametri. Protokolla määritellään tällä parametrilla. Suolakurkku luokitellaan kahteen tyyppiin: KORKEIN PROTOKOLLA sekä suolakurkku OLETUSPROTOKOLLA. Tietojen noutamiseen tai sarjojen poistamiseen käytetään pickle load() -menetelmää, jonka avulla tiedostoobjekti saadaan avaamalla tiedosto luku-binaaritilassa (rb).







Esimerkki 1: Pickle-tiedoston tietojen sarjoittaminen ja sarjoittaminen käyttämällä Pickle Dump and Load -toimintoa

Tässä esimerkissä opimme sarjoittamaan ja sarjoittamaan tiedot sanakirjana hyvin yksinkertaisella koodilla.




Edellisessä kuvassa esitetyssä koodissa Python-kirjaston ensimmäinen pickle-moduuli on tuotu, jotta sen menetelmiä voidaan käyttää. Sitten alustetaan datasanakirja, jossa on 2 avainta ja arvoa, ja se tallennetaan muuttujaan nimeltä 'shape'. Seuraavalla rivillä pickle dump() -menetelmää käytetään avaamaan uusi tiedosto nimeltä 'info.p' kirjoitusbinääritilassa (wb) ja 'shape'-tiedot tallennetaan tähän tiedostoon. Seuraavalla rivillä käytetään pickle load() -menetelmää samalle tiedostolle, johon tiedot on jätetty rb-tilassa. Tämä palauttaa sanakirjatietomme ja tallennetaan muuttujaan nimeltä 'a'. Lopuksi tämä palautettu objekti näytetään tulostepäätteessä käyttämällä tulostuskomentoa seuraavan kuvakaappauksen mukaisesti.



Voimme nähdä, että tiedot tallennettiin ensin 'info.p'-tiedostoon dump-menetelmällä. Sitten kun käytimme load()-menetelmää samaan tiedostoon, saimme tietomme takaisin.





Esimerkki 2: Pickle Dump -funktion käyttö lisäprotokollan kanssa tietojen sarjoittamiseksi Pythonissa

Tämä on samanlainen esimerkki, jossa käytämme suolakurkun lisäprotokollaa, 'HIGHEST_PROTOCOL', joka on uusin protokolla. Tämä protokolla mahdollistaa uusia kieliominaisuuksia, joita voimme käyttää, ja sisältää optimointeja.




Edellisessä kuvassa annetussa koodissa tuodaan ensimmäinen suolakurkkumoduuli. Sitten yhden alkion sanakirja avaimella ja arvolla alustetaan ja tallennetaan muuttujaan 'a'. Seuraavalla rivillä uusi tiedosto, joka on 'info.p', avataan wb-tilassa kahvana. Nyt tiedosto on objektissa nimeltä 'kahva'. Sitten dump()-funktiota käytetään 'käsittelemään' sanakirjaa 'a' käyttäen 'HIGHEST_PROTOCOL'. Tämä mahdollistaa 'a':n sanakirjan tallentamisen tietokoneen levyllä olevaan 'info.p'-tiedostoon. Tietojen purkamiseksi tiedostosta tiedosto avataan ensin 'rb'-tilassa. Sitten tähän tiedostoon käytetään pickle load() -menetelmää. Palautetut tiedot tallennetaan attribuutissa 'b'. Lopuksi, käyttämällä tulostuskomentoa, nämä tiedot näytetään tulossolmussa, kuten seuraavasta kuvakaappauksesta näkyy:

Esimerkki 3: Pickle-tiedoston tietoluettelon sarjoittaminen ja sarjoittaminen käyttämällä Pickle Dump and Load -toimintoa

Tässä esimerkissä suolakurkkumoduuli tuodaan ensin. Sitten osa tiedoista lisätään sanakirjaan luettelomuodossa ja tallennetaan 'shape_colors' -muuttujaan. Seuraavalla rivillä näiden tietojen kanssa käytetään suoraan pickle dump() -menetelmää. Parametrissaan olevan tiedoston sijaan avataan 'info.p'-tiedosto wb-tilassa. Tämän seurauksena sanakirjan tiedot tallennetaan nyt tähän tiedostoon, joka on tallennettu tietokoneen levylle. Sitten datan lukemiseksi tiedostosta käytetään pickle load() -menetelmää samassa tiedostossa. Palautetut tiedot tallennetaan muuttujaan 'a'. Lopuksi, käyttämällä tulostuskomentoa, nämä tiedot näytetään toissijaisissa päätteissä, kuten seuraavassa tilannekuvassa on kuvattu:



Esimerkki 4: Tietojen tallentaminen suolakurkkutiedostoon käyttämällä suolakurkku- ja lataustoimintoja eri parametreilla

Annetulla koodilla tuodaan ensimmäinen suolakurkkumoduuli. Sitten palkkojen sanakirja alustetaan ja tallennetaan 'palkat'-muuttujaan. Seuraavalla rivillä avataan uusi tiedosto ”palkka.p” wb-tilassa kahvana. Nyt tiedosto on objektissa nimeltä 'kahva'. Sitten suolakurkku dump() -funktiota käytetään 'käsittelemään' 'palkat'-sanakirjaa käyttämällä 'HIGHEST_PROTOCOL'. Tämä mahdollistaa 'palkkojen' -sanakirjan tallentamisen 'salary.p'-tiedostoon tietokoneen levylle. Nyt tietojen hakemiseksi takaisin tiedostosta tiedosto avataan ensin 'rb'-tilassa. Sitten tähän tiedostoon käytetään pickle load() -menetelmää. Palautetut tiedot tallennetaan muuttujaan 'a'. Tulosta-komentoa käyttämällä nämä tiedot näytetään loppujen lopuksi tulostepäässä seuraavan tilannekuvan mukaisesti:



Esimerkki 5: Useissa eri ulottuvuuksissa olevien tietojen sarjoittaminen ja sarjoittaminen suolakurkkutiedostossa käyttämällä suolakurkku- ja lataustoimintoa

DataFrame-kehysten (moniulotteisten taulukoiden) luominen Pythonissa on kätevää, kun testataan uusia menetelmiä ja toimintoja, jotka löytyvät Pythonin Pandan moduulista. DataFrame voidaan rakentaa tyhjästä useilla eri tavoilla, mutta yksi yksinkertaisimmista on käyttää perussanakirjaa.


Edellisessä kuvassa annetussa koodissa tuodaan ensimmäinen suolakurkku- ja Pandas-moduulit. Sitten luodaan moniulotteinen taulukko pd.DataFrame()-menetelmällä. Strategian seuraava ominaisuus on neljän listan luettelo. Jokainen luettelo vastaa taulukon riviä. Toinen parametri on 'sarakkeet', joka määrittää taulukon kunkin sarakkeen otsikon. Tämä DataFrame on tallennettu 'pre'. Sitten uusi tiedosto, joka on 'attendance.p' avataan wb-tilassa ja pickle dump() -menetelmää käytetään tässä tiedostossa DataFramen kanssa. Nyt määrittämämme tiedot on tallennettu 'attendance.p'-tiedostoon tietokoneen kiintolevylle.


Tietojen hakemiseksi tiedostosta avaamme tiedoston rb-tilassa, joka mahdollistaa tiedoston lukemisen. Sitten 'attendance.p'-tiedostossa käytetään pickle load() -menetelmää. Lopuksi tiedoston tiedot näytetään lähtöpäätteessä. Kuten näemme, koko DataFrame näkyy lähtöpäätteessä, joka on tallennettu 'attendance.p'-tiedostoon.

Johtopäätös

Noudata erityisiä varotoimia, kun käsittelet suolakurkkuviiloja. Suolakurkkumoduulista puuttuu turvallisuus. Poista vain ne tiedot, joihin olet luottavainen. On mahdollista luoda haitallisia poimintatietoja, jotka saattavat suorittaa mielivaltaista koodia poistoprosessin aikana. Se on kuitenkin tehokas tapa tallentaa sanakirjoja, luetteloita ja taulukoita Pythonissa. Peittaus on erityisen hyödyllistä data-analyysissä, kun suoritat datalle rutiinitoimintoja, kuten esikäsittelyä. Toivon, että tämä artikkeli auttoi sinua oppimaan Pythonin suolakurkkumoduulin eri menetelmistä ja sen käyttämisestä sanakirjojen kanssa.