بايثون يفهم كل تنسيقات الملفات الشائعة. بالإضافة إلى ذلك ، تحتوي كل مكتبة على نسق "أنبوب دافئ" خاص بها. بناء الجملة ، بطبيعة الحال ، في كل شكل هو فردي بحت. لقد جمعت جميع وظائف العمل مع ملفات بتنسيقات مختلفة على ورقة 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