قاموس مخلل في بايثون

Qamws Mkhll Fy Baythwn



يمكن استخدام Pickle للمعالجة المسبقة لأطر كيان Python وهي عملية تحويل كائن من الذاكرة إلى تيار بايت يمكن حفظه على القرص بتنسيق ثنائي. يُعرف هذا الإجراء باسم التسلسل. لتحقيق ذلك ، استخدم طريقة pickle dump (). عندما يتم تحميل هذا السجل الثنائي في برنامج Python مرة أخرى ، يمكن فك تسلسله وتحويله مرة أخرى إلى كائن Python باستخدام طريقة pickle load ().

تعلمك هذه المقالة كيفية تخزين البيانات ، وبشكل أكثر تحديدًا القاموس ، باستخدام وحدة بايثون pickle. للبدء ، يجب علينا شراء وحدة المخلل. يقبل Pickle dump () ثلاث معاملات. يحدد الإدخال الأول البيانات المراد حفظها. المعلمة الثانية هي كائن الملف الذي يتم إرجاعه عند فتح ملف في وضع الكتابة الثنائية (wb). وسيطة مفتاح القيمة هي المعلمة الثالثة. يتم تعريف البروتوكول بواسطة هذه المعلمة. يتم تصنيف المخلل إلى نوعين: أعلى بروتوكول بالإضافة إلى مخلل بروتوكول افتراضي. لاسترداد البيانات أو إلغاء تسلسلها ، يتم استخدام طريقة pickle load () التي يتم من خلالها الحصول على كائن ملف عن طريق فتح ملف في وضع القراءة الثنائية (rb).







مثال 1: تسلسل البيانات وإلغاء تسلسلها في ملف Pickle باستخدام وظيفة Pickle Dump و Load

في هذا المثال ، سوف نتعلم كيفية إجراء تسلسل للبيانات وإلغاء تسلسلها كقاموس برمز بسيط للغاية.




في الكود المقدم في الرسم التوضيحي السابق ، تم استيراد أول وحدة مخلل من مكتبة Python بحيث يمكن استخدام طرقها. بعد ذلك ، يتم تهيئة قاموس البيانات مع مفتاحين وقيمتين وتخزينهما في المتغير المسمى 'الشكل'. في السطر التالي ، يتم استخدام طريقة pickle dump () لفتح ملف جديد باسم 'info.p' في وضع الكتابة الثنائية (wb) ويتم تخزين بيانات 'الشكل' في هذا الملف. في السطر التالي ، يتم استخدام طريقة تحميل المخلل () لنفس الملف الذي أفرغنا فيه البيانات في وضع rb. هذا يعيد بيانات القاموس الخاص بنا ويتم تخزينه في المتغير المسمى 'a'. أخيرًا ، يتم عرض هذا الكائن المرتجع في محطة الإخراج باستخدام أمر الطباعة كما هو موضح في لقطة الشاشة التالية.



يمكننا أن نرى أنه تم تخزين البيانات أولاً في ملف “info.p” باستخدام طريقة التفريغ. بعد ذلك ، عندما استخدمنا طريقة load () لنفس الملف ، استعدنا بياناتنا.





مثال 2: استخدام وظيفة Pickle Dump مع بروتوكول إضافي لتسلسل البيانات في Python

هذا مثال مشابه حيث نستخدم بروتوكولًا إضافيًا ، 'HIGHEST_PROTOCOL' ، من المخلل وهو أحدث بروتوكول. يسمح هذا البروتوكول بميزات لغة جديدة يمكننا استخدامها وتضمين تحسينات.




في الكود المقدم في الرسم التوضيحي السابق ، تم استيراد أول وحدة مخلل. بعد ذلك ، يتم تهيئة قاموس عنصر واحد مع مفتاح وقيمة وتخزينه في المتغير 'a'. في السطر التالي ، يتم فتح ملف جديد وهو “info.p” في وضع wb كمقبض. الآن ، الملف موجود في الكائن المسمى “handle”. بعد ذلك ، يتم استخدام وظيفة التفريغ () في 'التعامل' مع القاموس 'a' باستخدام 'HIGHEST_PROTOCOL'. يتيح ذلك حفظ القاموس 'a' في ملف 'info.p' على قرص الكمبيوتر. لاستخراج المعلومات من الملف ، يتم فتح الملف في وضع 'rb' أولاً. بعد ذلك ، يتم استخدام طريقة تحميل المخلل () لهذا الملف. يتم حفظ البيانات التي تم إرجاعها في السمة 'ب'. أخيرًا ، باستخدام أمر الطباعة ، يتم عرض هذه المعلومات في عقدة الإخراج ، كما هو موضح في التقاط الشاشة التالي:

مثال 3: تسلسل قائمة بيانات في ملف مخلل وإلغاء تسلسلها باستخدام وظيفة Pickle Dump و Load

في هذا المثال ، يتم استيراد وحدة pickle أولاً. بعد ذلك ، يتم إدخال بعض البيانات في قاموس بتنسيق قائمة وتخزينها في متغير 'شكل_الألوان'. في السطر التالي ، يتم استخدام طريقة المخلل () بشكل مباشر مع هذه البيانات. بدلاً من الملف في المعلمة الخاصة به ، يتم فتح ملف “info.p” في وضع wb. نتيجة لذلك ، يتم الآن تفريغ بيانات القاموس في هذا الملف المخزن على قرص الكمبيوتر. بعد ذلك ، لقراءة البيانات من الملف ، يتم استخدام طريقة تحميل pickle () في نفس الملف. يتم حفظ البيانات التي تم إرجاعها في المتغير 'أ'. أخيرًا ، باستخدام أمر الطباعة ، يتم عرض هذه المعلومات في المحطات الثانوية ، كما هو موضح في اللقطة التالية:



مثال 4: تخزين المعلومات في ملف Pickle باستخدام وظائف Pickle Dump و Load مع معلمات مختلفة

في الكود المقدم ، يتم استيراد أول وحدة مخلل. بعد ذلك ، يتم تهيئة قاموس الرواتب وتخزينه في متغير 'الرواتب'. في السطر التالي ، يتم فتح ملف جديد 'المرتب. p' في وضع wb كمؤشر. الآن ، الملف موجود في الكائن المسمى “handle”. بعد ذلك ، يتم استخدام وظيفة pickle dump () لـ 'التعامل' مع قاموس 'الرواتب' باستخدام 'HIGHEST_PROTOCOL'. يسمح ذلك بحفظ القاموس الموجود في 'الرواتب' في ملف 'pay.p' على قرص الكمبيوتر. الآن ، لاسترداد البيانات مرة أخرى من الملف ، يتم فتح الملف أولاً في وضع 'rb'. بعد ذلك ، يتم استخدام طريقة تحميل المخلل () لهذا الملف. يتم حفظ المعلومات التي تم إرجاعها في المتغير 'أ'. في النهاية ، من خلال استخدام أمر الطباعة ، يتم عرض هذه البيانات في نهاية الإخراج كما هو موضح في اللقطة التالية:



مثال 5: التسلسل وإلغاء تسلسل البيانات بأبعاد متعددة في ملف Pickle باستخدام Pickle Dump و Load Function

يعد إنشاء DataFrames (جداول متعددة الأبعاد) في Python مفيدًا لاختبار الأساليب والوظائف الجديدة الموجودة في وحدة Panda الخاصة بـ Python. توجد طرق مختلفة لإنشاء إطار بيانات من البداية ، ولكن من أبسط الطرق استخدام قاموس أساسي.


في الكود الموضح في الرسم التوضيحي السابق ، تم استيراد الوحدة النمطية الأولى للمخلل والباندا. بعد ذلك ، يتم إنشاء جدول متعدد الأبعاد باستخدام أسلوب pd.DataFrame (). السمة التالية للاستراتيجية هي قائمة من أربع قوائم. كل قائمة تتوافق مع صف من الجدول. المعلمة الثانية هي 'الأعمدة' التي تحدد عنوان كل عمود في الجدول. يتم تخزين DataFrame هذا في 'pre'. بعد ذلك ، يتم فتح ملف جديد وهو “attance.p” في وضع wb ويتم استخدام طريقة pickle dump () في هذا الملف باستخدام DataFrame. الآن ، يتم تخزين بياناتنا المحددة في ملف “attance.p” على القرص الصلب للكمبيوتر.


لاسترداد البيانات من الملف ، نفتح الملف في وضع rb الذي يسمح بقراءة الملف. بعد ذلك ، يتم استخدام طريقة تحميل المخلل () في ملف 'attance.p'. أخيرًا ، يتم عرض البيانات الموجودة في الملف في محطة الإخراج. كما نرى ، يتم عرض DataFrame بالكامل في محطة الإخراج المخزنة في ملف “attance.p”.

استنتاج

اتخذ احتياطات إضافية عند العمل مع ملفات المخلل. وحدة المخلل تفتقر إلى الأمان. فقط قم بإلغاء انتقاء البيانات التي تثق بها. من الممكن إنشاء بيانات مخلل ضارة والتي قد تنفذ تعليمات برمجية عشوائية أثناء عملية إلغاء الانتقاء. ومع ذلك ، فهي طريقة فعالة لتخزين القواميس والقوائم والجداول في بايثون. يعتبر Pickling مفيدًا بشكل خاص في تحليل البيانات عند تنفيذ عمليات روتينية على البيانات مثل المعالجة المسبقة. آمل أن تساعدك هذه المقالة في التعرف على الطرق المختلفة لوحدة pickle في Python وكيفية استخدامها مع القواميس.