كيف تجلب البيانات من قاعدة البيانات في بايثون؟ استيراد البيانات باستخدام بايثون
نشرت: 2021-03-09يعد تحليل البيانات مهارة أساسية يجب أن يتمتع بها الخريجون والمهندسون والمديرون الشباب في بيئة العمل التي تقودها التكنولوجيا اليوم. في هذه المقالة ، سنغطي كيفية إحضار البيانات من قاعدة بيانات بلغة بيثون وسنطلعك على بعض المفاهيم الأساسية بسرعة.
جدول المحتويات
استخراج البيانات مع قاعدة بيانات يثون
يستلزم استخراج البيانات استرداد البيانات من مصادر مختلفة ، وفي بعض الأحيان معالجتها بشكل أكبر ، وترحيلها إلى مستودعات لمزيد من التحليل. لذلك ، يحدث نوع من تحويل البيانات في هذه العملية. و Python هي واحدة من لغات البرمجة الرائدة لمهام علوم البيانات هذه. يوجد حوالي 8.2 مليون مستخدم لهذه اللغة ذات الأغراض العامة ولغة البرمجة النصية في جميع أنحاء العالم.
في الدليل التالي ، سنناقش طرق الاستخراج باستخدام PostgreSQL ، وهو نظام قاعدة بيانات علائقية مفتوح المصدر. يوفر دالة ROW_TO_JSON التي تعرض مجموعات النتائج ككائنات JSON ، والتي تحيط بها أقواس معقوفة {}. ستساعدك أنواع بيانات JSON في معالجة نتائج الاستعلام بشكل أكثر ملاءمة. ولكن قبل أن نبدأ ، تأكد من تثبيت بيئة افتراضية ، مثل psycopg2-binary.
أساسيات قاعدة بيانات بايثون
لنفترض أن لديك قاعدة بيانات PostgreSQL لاتحاد كرة القدم الأمريكية (NFL). قد يتضمن ذلك معلومات عن اللاعبين والمدربين وجداول الفرق. لاحظ أيضًا التفاصيل التالية للتعرف على البيانات المخزنة:
- يحتوي جدول بيانات اللاعبين على تفاصيل مثل athelete_id ، وهو المفتاح الأساسي ، والاسم الأول والأخير للاعبين ، وأرقام القميص ، والوزن (بالكيلوغرام) ، والطول (بالمتر) ، وبلدهم الأصلي. كما أنه يحتوي على team_id ، وهو مفتاح خارجي يشير إلى فريق كل رياضي.
- يحتوي جدول البيانات الخاص بالمدربين على coach_id (المفتاح الأساسي) ، جنبًا إلى جنب مع الاسمين الأول والأخير ، و team_id (مفتاح خارجي يشير إلى حقل جدول الفرق).
- أخيرًا ، هناك جدول الفرق الذي يصف كل فريق كرة قدم بالاسم ، والمؤتمر ، وترتيبه ، وإجمالي المكاسب والخسائر (مقسمة إلى "الوطن" و "الضيف"). هنا ، المفتاح الأساسي هو team_id ، والذي تمت الإشارة إليه في الجداول أعلاه.
الآن بعد أن أصبحت على دراية بمجموعة البيانات ، دعنا نستكشف كيفية كتابة استعلام SQL لاسترداد قائمة بالفرق. على سبيل المثال ، أنت بحاجة إلى ترتيب فرق كرة القدم وفقًا لمؤتمرهم ورتبتهم. تريد أيضًا استخراج عدد الرياضيين أو اللاعبين في كل فريق مع أسماء مدربيهم. قد ترغب أيضًا في معرفة عدد انتصارات الفريق وخسائره ، سواء على أرضه أو خارجه.
اتبع الخطوات أدناه لبدء هذه العملية:
تحديد
f.name ،
f.city ،
و. المؤتمر ،
f.conference_rank ،
COUNT (a.player_id) AS number_of_athletes ،
CONCAT (c.first_name، ''، c.last_name) مدرب AS ،
f.home_wins ،
f.away_wins
من الرياضيين أ ، فرق و ، المدربين ج
أين a.team_id = f.team_id
و c.team_id = f.team_id
تجميع حسب f.name ، c.first_name ، c.last_name ، f.city ، f.conference ، f.conference_rank ، f.home_wins ، f.away_wins
ORDER BY f.conference، f.conference_rank
بعد ذلك ، يمكنك إجراء التواء على الاستعلام داخل دالة JSON التي ذكرناها سابقًا (ROW_TO_JSON). سيؤدي هذا إلى حفظ البيانات في ملف يسمى query.sql في دليلك الحالي. الآن ، تابع الخطوات الواردة أدناه.
حدد ROW_TO_JSON (معلومات الفريق) من (
تحديد
f.name ،
f.city ،
و. المؤتمر ،
f.conference_rank ،
COUNT (a.athelete_id) AS number_of_atheletes ،
CONCAT (c.first_name، ''، c.last_name) مدرب AS ،
f.home_wins ،
f.away_wins
من الرياضيين أ ، فرق و ، المدربين ج
أين a.team_id = f.team_id
و c.team_id = f.team_id
تجميع حسب f.name ، c.first_name ، c.last_name ، f.city ، f.conference ، f.conference_rank ، f.home_wins ، f.away_wins
ORDER BY f.conference، f.conference_rank
) AS team_info
ستلاحظ أن كل صف له بنية قاموس بيثون. المفاتيح هي فقط أسماء الحقول التي تم إرجاعها بواسطة الاستعلام الخاص بك.
علاوة على ذلك ، لتجنب تعريض متغيرات البيئة الخاصة بك على مرأى من الجميع ، يمكنك تطبيق بعض التغييرات على ملفات التهيئة الخاصة بك. اختر أيًا من الطرق التالية ، حسب احتياجاتك:
- لنظام التشغيل Windows: لوحة التحكم ← النظام ← إعدادات النظام المتقدمة ← علامة التبويب المتقدمة ← متغيرات البيئة.
- بالنسبة إلى بيئة شبيهة بـ Unix: قم بإلحاق سطرين حول اسم المستخدم وكلمة المرور في ملف التهيئة.
بهذا تكون جاهزًا لكتابة كود بيثون. في البداية ، سنقوم باستيراد بعض الوحدات والوظائف لمنع الأخطاء. يمكن أن تساعدك هذه العبارات في تحقيق ما يلي:
استيراد نظام التشغيل
استيراد psycopg2 كما ص
من خطأ استيراد psycopg2
بعد ذلك ، سنقوم بإنشاء مثيل للاتصال عن طريق تحميل محتويات query.sql. افتح ملف قاعدة بيانات SQL باستخدام أوامر الفتح والقراءة ، واتصل بقاعدة بيانات NFL باستخدام وظيفة الاتصال عن طريق تحديد مستخدم قاعدة البيانات وكلمة المرور والمضيف ورقم المنفذ.
اقرأ أيضًا: مشاريع Python على GitHub
كيف تجلب البيانات من قاعدة بيانات في بايثون؟
بمجرد إنشاء اتصال قاعدة البيانات ، يمكنك متابعة تنفيذ الاستعلام. تحتاج إلى استخدام بنية تحكم تسمى "المؤشر". إنها سهلة مثل كتابة "cursor = conn.cursor ()" وبعد ذلك ، "cursor.execute (استعلام)". ستحتوي النتيجة بعد ذلك على قائمة مجموعات (عنصر واحد) بتنسيق قاموس.
النتيجة = cursor.fetchall ()
في هذه المرحلة ، يمكنك محاولة تكرار النتيجة. يمكنك معالجة المحتويات كما تريد ، وإدراجها أو إدخالها في جداول البيانات ، وجداول HTML ، وما إلى ذلك. لا تنسَ تغليف التعليمات البرمجية وتنظيفها أثناء الانتهاء. يمكنك القيام بذلك باستخدام كتلة try-except-block وإضافة جملة "أخيرة".
عندما تتعامل مع مجموعات بيانات كبيرة ، علائقية أو غير ذلك ، تشعر بالحاجة إلى بعض الأدوات الأساسية للاستعلام عن الجداول ، خاصةً عندما تريد أيضًا معالجة النتائج. من السهل تحقيق تحويل البيانات هذا باستخدام Python.
لذلك ، تتضمن معظم برامج الدراسات العليا معرفة هذه التقنيات كجزء من المنهج الدراسي. تشمل بعض الأمثلة الدبلوم المشارك في علوم البيانات (IIIT-Bangalore) وشهادة الماجستير العالمية في تحليلات الأعمال (جامعة ولاية ميتشيغان).
الخروج: أفكار مشروع بايثون مفتوح المصدر
خاتمة
في هذا البرنامج التعليمي لقاعدة بيانات Python ، تعلمنا كيفية توصيل قاعدة بيانات علائقية وتنفيذ الاستعلامات واستيراد النتائج. يمكنك فعل الكثير باستخدام Python وتكييف الكود الخاص بك للقيام بالأشياء التي تريدها.
نأمل أن يساعدك هذا الدليل في العثور على بعض الوضوح وبدء فضولك!
تعلم دورات علوم البيانات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
كيف يمكنك سحب البيانات من API باستخدام طلبات Python؟
عندما ترغب في تلقي البيانات من واجهة برمجة التطبيقات (API) ، يجب عليك تقديم طلب من الخادم ، تمامًا كما يحدث عندما تتفاعل مع مواقع الويب التقليدية. سنحتاج إلى استخدام حزمة الطلبات للحصول على البيانات من API باستخدام Python. في بايثون ، الطلبات هي المكتبة القياسية لتقديم طلبات HTTP. بسبب تجريداتها ، فهي سهلة الاستخدام حقًا ، خاصة عند العمل مع واجهات برمجة التطبيقات.
عندما نستخدم مكتبة الطلبات لتشغيل طلب ، نحصل على كائن طلب يحتوي على البيانات التي نريد استخراجها بالإضافة إلى رمز حالة الطلبات. يُعلمنا رمز الحالة بحالة الطلب ، وهو جزء من كل طلب نتقدم به. اعتمادًا على المعلومات التي يتم إرجاعها ، يتم تقسيم الرموز إلى مئات من القيم المختلفة.
كيفية توصيل SQLite ببايثون؟
أ. يجب علينا استيراد sqlite3 من أجل استخدام SQLite.
ب. ثم ، باستخدام طريقة الاتصال ، قم بإجراء اتصال وقم بتوفير اسم قاعدة البيانات التي ترغب في الوصول إليها ؛ إذا كان هناك ملف بهذا الاسم ، فسيتم فتحه. ستنشئ Python ملفًا بالاسم المقدم إذا لم تحدد واحدًا.
ج. بعد ذلك ، يتم إنشاء كائن مؤشر قد يرسل أوامر SQL. المؤشر هو هيكل تحكم لاجتياز واسترجاع سجلات قاعدة البيانات. عند التعامل مع Python ، فإن المؤشر مهم حقًا. سيتم استخدام كائن المؤشر لتنفيذ جميع الأوامر.
د. قم بإنشاء كائن وكذلك كتابة عبارة SQL فيه مع التعليقات لإنشاء جدول في قاعدة البيانات. مثال: - sql_comm = جملة SQL.
ه. وتشغيل الأمر سهل للغاية. تنفيذ طريقة المؤشر ، بتمرير اسم الأمر sql كوسيطة. احفظ قائمة الأوامر كمتغير sql_comm وقم بتشغيلها. بعد الانتهاء من جميع مهامك ، احفظ التعديلات على الملف بتنفيذها ، ثم افصلها.
هل بايثون جيدة لقواعد البيانات؟
تعتبر Python مناسبة بشكل خاص للبيانات المجدولة المنظمة التي يمكن الحصول عليها باستخدام SQL ولكنها تتطلب بعد ذلك معالجة إضافية يصعب تحقيقها باستخدام SQL وحدها.