سحب وقراءة البيانات من صيغ ومصادر مختلفة باستخدام لغة بايثون | Retrieving Data

الأحد 11 ربيع الأول 1443ھ الأحد 17 أكتوبر 2021م
فيسبوك
إكس
واتساب
تيليجرام
لينكدإن

504 كلمة

12 دقيقة

المحتوى
Untitled

مقدمة:

تعد البيانات اليوم مصدراً أساسياً لكثير من الأنشطة في عالمنا حيث أن متوسط ماننتجه يوميًا من البيانات يقدر بـ 2.5×1018 بايت وتتنوع صيغ ومصادر تخزين هذه البيانات بناءً على أسباب عديدة من ذلك: المجال أو التقنية المراد توظيف البيانات من خلالها ، المشكلة التي نرغب بحلها ، الطريقة المثلى لاستعراض واسترجاع البيانات للمستخدمين أو حتى طريقة تعامل الآلات مع تلك البيانات.

نتناول في هذا الدرس أشهر صيغ تخزين البيانات وطرق سحبها من مصادر مختلفة باستخدام لغة بايثون وتحويلها لإطار بيانات DataFrame باستخدام مكتبة Pandas وذلك لغرض استخدامها في مشاريع علم البيانات والتعلم الآلي.

1- التعامل مع ملفات CSV

ملفات CSV هي ملفات تحتوي على قيم مفصول فيما بينها بعلامة الترقيم الفاصلة comma-separated values أي أن بين كل قيمة والتي تليها إشارة فاصلة (،) ولفهم المسألة تم ارفاق نموذج توضيحي لملف CSV.

image

يتم استخلاص البيانات من ملف CSV وتخزينها في إطار بيانات من خلال الأسطر التالية :

2- التعامل مع ملفات txt

TSV هي اختصار لـ Tab-separated values أي أن القيم يتم فصلها من خلال مفتاح TAB على لوحة المفاتيح بدلاً من الفاصلة.

image 3

يتم استخلاص البيانات من ملف TSV وتخزينها في إطار بيانات من خلال الأسطر التالية:

نلاحظ في هذه المرة أنه تم تمرير القيمة ‘t\’ للمعامل sep للإشارة أن البيانات مخزنة بطريقة tsv

حالات خاصة يجب التنبه لها أثناء سحب البيانات من الملفات:

– الملفات المفصولة بـمفتاح مسافة فارغة

– الملفات التي لا تحتوي على أسماء للأعمدة

notepad 4fQ2gtk4VO

– الملفات التي تحتوي على قيم متطرفة أو مفقودة (سنخصص درس مستقل لها!)

3- التعامل مع ملفات JSON

تشير صيغة ملفات JSON إلى JavaScript Object Notation والتي تستخدم بشكل واسع في تخزين البيانات من المواقع الإلكترونية و هذه الصيغة تشبه في تركيبها القواميس Dictionaries في لغة بايثون أدناه صورة توضيحة

notepad EQyYvImDnv

يتم استخلاص البيانات من ملف JSON وتخزينها في إطار بيانات من خلال الأسطر التالية:

image 4

4- التعامل مع قواعد بيانات SQL

SQL أو لغة الاستعلام الهيكلية structured query language هي لغة تقوم على إنشاء استعلامات queries على قواعد بيانات علائقية تتكون عادة من عدة جداول ترتبط ببعضها من خلال أعمدة مشتركة.

Document vs Relational Databases - DEV Community

يوجد العديد من الشركات التي تقدم خدمات قواعد بيانات SQL تتشابه هذه القواعد من حيث العمل وتختلف قليلا من ناحية بناء الاستفسارات على سبيل المثال لا الحصر :

  • Microsoft SQL server
  • Postgres
  • AWS RedShift
  • MySQL
  • DB2 Family
  • Oracle DB

سنستخدم مكتبتي SQLite3 و Pandas لاستخلاص البيانات من ملف db وتخزينها في إطار بيانات:

image 6

5- التعامل مع قواعد بيانات NoSQL

تتميز هذه القواعد بسرعتها و مقدرتها على تقليل التكاليف التقنية مقارنة بـقواعد SQL حيث أن معظم قواعد NoSQL تخزن البيانات على هيئة ملفات JSON وكما هو الحال مع قواعد SQL يوجد العديد من الخدمات المقترنة بقواعد No SQL أبرزها :

  • Mongo DB
  • couch DB
  • Riak
  • Cassandra

سنستخدم مكتبتي Pymongo و Pandas لاستخلاص البيانات من ملف db وتخزينها في إطار بيانات:

6- التعامل مع الـ APIs

العديد من مقدمي البيانات مفتوحة المصدر يسعون لإتاحاة الوصول لبياناتهم بأسهل الطرق الممكنة ومن ذلك استخدام الواجهات البرمجية للتطبيق حيث كل ماتحتاجه هو رابط URL لسحب واسترجاع البيانات عن طريق بايثون ومن أشهر المواقع التي تقدم هذا النوع من البيانات UCI Machine Learning Repository

مثال تطبيقي:

znHXjFZZs1 2

انتهى الدرس !

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

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *