محلول: جدول الباندا إلى postgresql

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

مقدمة إلى Pandas و PostgreSQL

Pandas هي مكتبة Python قوية توفر هياكل بيانات سهلة الاستخدام ووظائف معالجة البيانات لتحليل البيانات. إنه مفيد بشكل خاص عند التعامل مع مجموعات البيانات الكبيرة أو عندما تحتاج إلى إجراء تحويلات معقدة للبيانات. من ناحية أخرى ، تعد PostgreSQL نظامًا مجانيًا ومفتوح المصدر لإدارة قواعد البيانات العلائقية للكائنات (ORDBMS) يركز على قابلية التوسع والتوافق مع SQL. يتم استخدامه على نطاق واسع لمهام إدارة البيانات المعقدة واسعة النطاق.

الآن ، لنفترض أن لدينا ملف CSV يحتوي على مجموعة بيانات كبيرة ، ونريد استيراده إلى قاعدة بيانات PostgreSQL. هناك طريقة شائعة لتحقيق هذه المهمة وهي استخدام Pandas بالاشتراك مع مكتبة psycopg2 ، والتي توفر محولًا لقواعد بيانات PostgreSQL التي تتيح لنا التواصل معها باستخدام Python.

Pandas: قراءة ملفات CSV

الخطوة الأولى في عمليتنا هي قراءة محتوى ملف CSV الخاص بنا باستخدام Pandas.

import pandas as pd

filename = "example.csv"
df = pd.read_csv(filename)

يستخدم هذا الرمز pd.read_csv () دالة ، والتي تقرأ ملف CSV وتعيد كائن DataFrame. باستخدام كائن DataFrame ، يمكننا بسهولة معالجة البيانات وتحليلها.

الاتصال بقاعدة بيانات PostgreSQL

الخطوة التالية هي الاتصال بقاعدة بيانات PostgreSQL الخاصة بنا باستخدام مكتبة psycopg2. للقيام بذلك ، نحتاج إلى تثبيت مكتبة psycopg2 ، والتي يمكن إجراؤها باستخدام pip:

pip install psycopg2

بمجرد تثبيت المكتبة ، نحتاج إلى الاتصال بقاعدة بيانات PostgreSQL الخاصة بنا:

import psycopg2

connection = psycopg2.connect(
    dbname="your_database_name",
    user="your_username",
    password="your_password",
    host="your_hostname",
    port="your_port",
)

psycopg2.connect () تُنشئ الوظيفة اتصالاً بخادم قاعدة البيانات باستخدام بيانات الاعتماد المقدمة. إذا كان الاتصال ناجحًا ، تقوم الوظيفة بإرجاع كائن اتصال سنستخدمه للتفاعل مع قاعدة البيانات.

إنشاء جدول في PostgreSQL

الآن بعد أن أصبح لدينا بياناتنا في كائن DataFrame واتصال بقاعدة بيانات PostgreSQL ، يمكننا إنشاء جدول في قاعدة البيانات لتخزين بياناتنا.

cursor = connection.cursor()
create_table_query = '''
CREATE TABLE IF NOT EXISTS example_table (
    column1 data_type,
    column2 data_type,
    ...
)
'''
cursor.execute(create_table_query)
connection.commit()

في مقتطف الشفرة هذا ، نقوم أولاً بإنشاء كائن مؤشر باستخدام الامتداد connect.cursor () طريقة. يتم استخدام المؤشر لإجراء عمليات قاعدة البيانات مثل إنشاء الجداول وإدخال البيانات. بعد ذلك ، نحدد استعلام SQL لإنشاء جدول ، ونقوم بتنفيذه باستخدام الامتداد cursor.execute () طريقة. أخيرًا ، نلتزم بالتغييرات على قاعدة البيانات باستخدام connect.commit ().

إدخال البيانات في قاعدة بيانات PostgreSQL

الآن بعد أن أصبح لدينا جدول ، يمكننا إدخال البيانات من DataFrame لدينا في قاعدة بيانات PostgreSQL باستخدام to_sql () الطريقة التي قدمتها الباندا.

from sqlalchemy import create_engine

engine = create_engine("postgresql://your_username:your_password@your_hostname:your_port/your_database_name")
df.to_sql("example_table", engine, if_exists="append", index=False)

في مقتطف الشفرة هذا ، نقوم أولاً بإنشاء محرك قاعدة بيانات باستخدام الامتداد create_engine () وظيفة مكتبة SQLAlchemy ، والتي تتطلب سلسلة اتصال تحتوي على بيانات اعتماد قاعدة البيانات الخاصة بنا. ثم نستخدم ملف to_sql () طريقة لإدخال البيانات من DataFrame لدينا في جدول "example_table" في قاعدة بيانات PostgreSQL.

في الختام ، تقدم هذه المقالة دليلاً شاملاً حول كيفية استيراد البيانات من ملف CSV إلى قاعدة بيانات PostgreSQL باستخدام Pandas و psycopg2. من خلال الجمع بين سهولة معالجة البيانات في Pandas وقوة PostgreSQL وقابلية التوسع ، يمكننا تحقيق حل سلس وفعال للمهمة المشتركة المتمثلة في استيراد بيانات CSV إلى قاعدة بيانات.

الوظائف ذات الصلة:

اترك تعليق