Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonピクルス


Python pickleモジュールは、Pythonオブジェクト構造のシリアル化と逆シリアル化に使用されます。あらゆる種類のPythonオブジェクト(list、dictなど)をバイトストリーム(0と1)に変換するプロセスは、ピクルスまたはシリアル化またはフラット化またはマーシャリングと呼ばれます。 unpicklingと呼ばれるプロセスによって、バイトストリーム(pickle化によって生成された)をpythonオブジェクトに変換し直すことができます。

ピクルスを選ぶ理由:現実の世界では、ピクルスとピクルス解除の使用が広く行われています。これにより、あるサーバー/システムから別のサーバー/システムにデータを簡単に転送し、ファイルまたはデータベースに保存できるようになります。

予防措置:セキュリティ上の脅威をもたらす可能性があるため、信頼できないソースから受信したデータを盗み出さないことをお勧めします。ただし、ピクルスモジュールには、悪意のあるデータをピクルスするときに、それを認識したり、アラームを発生させたりする方法がありません。

ピクルスモジュールをインポートした後でのみ、ピクルスとピクルス解除を行うことができます。ピクルスのインポートは、次のコマンドを使用して実行できます-

import pickle

漬物の例:

以下は、リストをピクルスにする方法に関する簡単なプログラムです:

簡単なリストを選んでください :Pickle_list1.py

import pickle
mylist = ['a', 'b', 'c', 'd']
with open('datafile.txt', 'wb') as fh:
   pickle.dump(mylist, fh)
>

上記のコードでは、list –「mylist」には4つの要素(「a」、「b」、「c」、「d」)が含まれています。すべての操作は現在の作業ディレクトリのバイトを使用して行われるため、ファイルを「w」ではなく「wb」モードで開きます。 「datafile.txt」という名前の新しいファイルが作成され、バイトストリームのmylistデータが変換されます。

簡単なリストを選択解除する :unpickle_list1.py

import pickle
pickle_off = open ("datafile.txt", "rb")
emp = pickle.load(pickle_off)
print(emp)

出力:上記のスクリプトを実行すると、mylistデータが出力として再び表示されます。

['a', 'b', 'c', 'd']

簡単な辞書をピクルスにする-

import pickle
EmpID = {1:"Zack",2:"53050",3:"IT",4:"38",5:"Flipkart"}
pickling_on = open("EmpID.pickle","wb")
pickle.dump(EmpID, pickling_on)
pickling_on.close()

辞書を開ける-

import pickle
pickle_off = open("EmpID.pickle", 'rb')
EmpID = pickle.load(pickle_off)
print(EmpID)

上記のscript(unpickle)を実行すると、前に初期化したときの辞書が返されます。また、ここではバイトを読み取っているため、「r」の代わりに「rb」を使用していることに注意してください。

出力

{1: 'Zack', 2: '53050', 3: 'IT', 4: '38', 5: 'Flipkart'}

ピクルスの例外

以下は、ピクルスモジュールの処理中に発生する一般的な例外の一部です-

  • Pickle.PicklingError:ピクルスオブジェクトがピクルス化をサポートしていない場合、この例外が発生します。

  • Pickle.UnpicklingError:ファイルに不良または破損したデータが含まれている場合。

  • EOFError:ファイルの終わりが検出された場合、この例外が発生します。

プロン:

  • 複雑なデータを保存するのに便利です。

  • 使いやすく、軽量で、数行のコードを必要としません。

  • 生成されたピクルスファイルは簡単に読み取れないため、ある程度のセキュリティが提供されます。

短所:

  • Python以外の言語では、ピクルスにされたPythonオブジェクトを再構築できない場合があります。

  • 悪意のあるソースからデータを選択解除するリスク。


  1. Pythonでの顧客離れの予測

    すべてのビジネスは顧客の忠誠心に依存しています。顧客からのリピートビジネスは、ビジネスの収益性の基礎の1つです。したがって、顧客が事業を辞める理由を知ることが重要です。顧客が離れることは、顧客離れとして知られています。過去の傾向を見ることで、顧客離れに影響を与える要因と、特定の顧客がビジネスから離れるかどうかを予測する方法を判断できます。この記事では、MLアルゴリズムを使用して、顧客離れの過去の傾向を調査し、どの顧客が離れる可能性が高いかを判断します。 データの準備 例として、この記事のテレコム顧客チャーンを検討します。ソースデータはkaggelで入手できます。データをダウンロードするための

  2. Pythonで国勢調査データを分析する

    国勢調査とは、特定の人口に関する情報を体系的に記録することです。キャプチャされたデータには、人口統計、経済、居住の詳細など、さまざまなカテゴリの情報が含まれます。これは、最終的に政府が現在のシナリオと将来の計画を理解するのに役立ちます。この記事では、Pythonを活用してインドの人口の人口調査データを分析する方法を説明します。さまざまな人口統計学的および経済的側面を見ていきます。次に、分析をグラフィカルに投影する電荷をプロットします。 kaggleから収集されたソース。ここにあります。 データの整理 以下のプログラムでは、最初に短いPythonプログラムを使用してデータを取得します。さらに分