بيثون تنسيق ملف البيانات ورقة الغش

بايثون يفهم كل تنسيقات الملفات الشائعة. بالإضافة إلى ذلك ، تحتوي كل مكتبة على نسق "أنبوب دافئ" خاص بها. بناء الجملة ، بطبيعة الحال ، في كل شكل هو فردي بحت. لقد جمعت جميع وظائف العمل مع ملفات بتنسيقات مختلفة على ورقة A4 واحدة ، مع التطبيق كمثال للاستخدام في دفتر jupyter.



قسّمت التنسيقات المشروطة إلى ثلاث كتل وفقًا لطريقة الاستخدام. كما تعلمون ، هناك حاجة إلى ملفات لتبادل المعلومات: بين الأشخاص ، وبين البرامج (المجموعة الأولى) ، وبين الكمبيوتر والشبكة (الثانية) و "حفظ اللعبة" - بين البرنامج نفسه في نقاط مختلفة في الوقت المناسب (المجموعة الثالثة).

باختصار عن كل كتلة:

1) صيغ عالمية:

  • .csv - نص ، قيم مفصولة من حيث المبدأ بفواصل مفصولة ، ولكن على سبيل المثال ، يفضل exel الروسي فصله بفواصل منقوطة ، لأن الفاصلة مستخدم بالفعل في اللغة الروسية كفاصل عشري ؛
  • .raw هو تنسيق ثنائي لأولئك الذين لا يحبون تنسيقات الملفات. نوع البيانات ، وإذا كانت البيانات متعددة الأبعاد ، فيجب نقل الأحجام المقابلة بشكل منفصل ، فقط البيانات نفسها في الملف ؛
  • .xls / .xlsx - الثنائي القديم (الحد من خطوط 65 كيلو) وتنسيقات xel exel الجديدة ؛
  • .mat هو أيضًا تنسيقان (كلاهما ثنائي): المالك القديم والآخر بناءً على hdf5. يمكن لبايثون العمل مع كليهما (من خلال المكتبات).

2) تنسيقات "الشبكة":

  • .json - textual ، يشبه القاموس في الثعبان ، لكن يمكن استخدام علامات الاقتباس مزدوجة فقط ؛
  • .xml - نصية ، على غرار HTML.

3) صيغ الثعبان الأصلية:

  • .pkl هو تنسيق ثنائي ، جميع كائنات Python المضمنة قادرة على حفظه فيه. يمكن للفئات المخصصة أيضًا ، وإذا كان الثعبان ينقذ شيئًا خاطئًا ، فيمكنك مساعدته من خلال الأساليب السحرية. يدعم إلحاق إلى نهاية ملف موجود.
  • .npy و .npz - في numpy هناك ما يصل إلى اثنين من التنسيقات الخاصة بهم (كلاهما ثنائي). ظهرت كرد فعل لفقدان التوافق الخلفي في pkl في وقت انتقال الثعبان v2-> v3. مقدار الحمل ضئيل (~ 100 بايت أكثر من الخام المطابق ؛ pkl ، ومع ذلك ، أكبر قليلاً: ~ 150 بايت أكثر من الخام). في .npy ، يمكنك حفظ صفيف واحد فقط ، وفي npz - عدة في وقت واحد ، ويمكنك بعد ذلك إخراجها بالاسم.
  • .h5 - تنسيق hdf5 الثنائي. تجدر الإشارة إلى أنه يمكنك تخزين بنية بيانات هرمية كاملة فيه ، وهو نظام ملفات في ملف واحد تقريبًا. بالإضافة إلى ذلك ، يمكن فتحه في matlab دون تحويل. سلبيات:

    أ) تشغل الملفات الصغيرة مساحة كبيرة بشكل غير معقول (على سبيل المثال ، 300 بايت pkl مقابل 3.1 Mb لـ h5) ،
    ب) الكثير من الأخطاء ،
    ج) هناك إلحاق ملف موجود ، ولكن إذا حدث خطأ (كما يحدث) ، فإن الحصول على البيانات منه سيكون مشكلة.

    فيما يلي تحليل مفصل لإيجابيات وسلبيات hdf5 ، باختصار - تنسيق جيد لتبادل البيانات ، وسيئ - لاستخدامه كنظام ملفات (على سبيل المثال ، لا يمكنك مسح صفيف ، فقط قم بنسخ الملف بدونه).
  • الباركيه هو تنسيق ثنائي للبيانات الكبيرة. Apache Parquet ليس تنسيق Python أصليًا ، لكنه مدمج جيدًا في حيوانات الباندا. يمكنك ضغط / توسيع على الطاير (rle ، gzip ، تشفير القاموس) ؛ يضغط بشكل أفضل قليلاً من Apache Avro. على عكس avro ، حيث يتم تخزين البيانات سطراً سطراً (مثل ترتيب C) ، يتم تخزين البيانات في الباركيه عمودًا تلو الآخر (مثل ترتيب الحصن). بفضل هذا ، يمكنك العمل بفعالية مع الجداول التي تحتوي على عدد كبير من الأعمدة.
  • قرر jupyter عدم إعادة اختراع العجلة -٪ store يحفظها بتنسيق .pkl ، لكن لسبب ما دون امتداد.

Sheatsheet نفسها:

- بتنسيق pdf
بتنسيق png:

مثال على استخدام جميع الوظائف من مخطط: html مع جدول المحتويات ومصدر ipynb

Source: https://habr.com/ru/post/ar481140/


All Articles