נפתרה: פנדות שולחן ל-postgresql

בעולם של ניתוח ומניפולציה של נתונים, אחת מספריות Python הפופולריות ביותר היא פנדות. הוא מספק מגוון כלים רבי עוצמה לעבודה עם נתונים מובנים, מה שמקל על מניפולציה, הדמיה וניתוח. אחת המשימות הרבות שבהן מנתח נתונים עשוי להיתקל היא ייבוא ​​נתונים מא CSV התיק לתוך PostgreSQL מאגר מידע. במאמר זה, נדון כיצד לבצע ביעילות וביעילות משימה זו באמצעות שניהם פנדות ו psychopg2 סִפְרִיָה. כמו כן, נחקור את הפונקציות והספריות השונות המעורבות בתהליך זה, ונספק הבנה מקיפה של הפתרון.

מבוא לפנדות ו-PostgreSQL

Pandas היא ספריית Python רבת עוצמה המספקת מבני נתונים קלים לשימוש ופונקציות מניפולציה של נתונים לניתוח נתונים. זה שימושי במיוחד כאשר אתה מתמודד עם מערכי נתונים גדולים או כאשר אתה צריך לבצע טרנספורמציות נתונים מורכבות. PostgreSQL, לעומת זאת, היא מערכת חינמית וקוד פתוח לניהול מסדי נתונים ביחסי אובייקטים (ORDBMS) ששמה דגש על הרחבה ותאימות ל-SQL. הוא נמצא בשימוש נרחב למשימות ניהול נתונים מורכבות בקנה מידה גדול.

כעת, נניח שיש לנו קובץ CSV המכיל מערך נתונים גדול, ואנו רוצים לייבא אותו למסד נתונים PostgreSQL. דרך נפוצה להשגת משימה זו היא להשתמש ב-Pandas בשילוב עם ספריית psycopg2, המספקת מתאם לבסיסי נתונים PostgreSQL המאפשר לנו לתקשר איתה באמצעות Python.

פנדות: קריאת קבצי 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",
)

אל האני psychopg2.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()

בקטע קוד זה, אנו יוצרים תחילה אובייקט סמן באמצעות ה- connection.cursor() שיטה. הסמן משמש לביצוע פעולות מסד נתונים כמו יצירת טבלאות והכנסת נתונים. לאחר מכן, אנו מגדירים שאילתת SQL ליצירת טבלה, ונבצע אותה באמצעות ה- cursor.execute() שיטה. לבסוף, אנו מתחייבים את השינויים במסד הנתונים עם connection.commit().

הוספת נתונים למסד הנתונים PostgreSQL

כעת, כשיש לנו טבלה, אנו יכולים להכניס את הנתונים מה-DataFrame שלנו למסד הנתונים PostgreSQL באמצעות to_sql() שיטה שסופקה על ידי Pandas.

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 למסד נתונים.

הודעות קשורות:

השאירו תגובה