pandas read_sql
مع استعلامات sql المعلمة
وظيفة pandas.read_sql
هي أداة قوية لجلب البيانات من قواعد البيانات. عند العمل مع محركات SQLalChemy ، يعد تمرير المعلمات بفعالية إلى استعلامات SQL أمرًا بالغ الأهمية. يوضح هذا الدليل نهجين شائعين: المعلمات الموضعية والمسمى.
الطريقة 1: المعلمات الموضعية
تستخدم هذه الطريقة قائمة أو tuple لتزويد المعلمات باستعلام SQL الخاص بك. يتم استبدال العناصر النائبة في عبارة SQL ( ٪ S
) بالتتابع بالعناصر الموجودة في قائمة المعلمات.
مثال:
import pandas as pd
from datetime import datetime
# ... (database connection setup using SQLAlchemy) ...
query = ('SELECT "Timestamp", "Value" FROM "MyTable" '
'WHERE "Timestamp" BETWEEN %s AND %s')
params = [datetime(2014, 6, 24, 16, 0), datetime(2014, 6, 24, 17, 0)]
df = pd.read_sql(query, db, params=params, index_col=['Timestamp'])
الطريقة 2: المعلمات المسماة
توفر المعلمات المسماة قابلية للقراءة بشكل أفضل. ومع ذلك ، فإن بناء الجملة المدعوم يعتمد على برنامج تشغيل قاعدة البيانات. مع Sqlalchemy و Psycopg2 ، فإن ٪ (name) s
ضروري.
مثال:
import pandas as pd
from datetime import datetime
# ... (database connection setup using SQLAlchemy) ...
query = ('SELECT "Timestamp", "Value" FROM "MyTable" '
'WHERE "Timestamp" BETWEEN %(dstart)s AND %(dfinish)s')
params = {"dstart": datetime(2014, 6, 24, 16, 0), "dfinish": datetime(2014, 6, 24, 17, 0)}
df = pd.read_sql(query, db, params=params, index_col=['Timestamp'])
ملاحظة مهمة: تحقق دائمًا من وثائق برنامج تشغيل قاعدة البيانات لتأكيد بناء جملة المعلمة الصحيحة. سيؤدي استخدام بناء الجملة الخاطئ إلى أخطاء الاستعلام. هذا يضمن تنفيذ استفساراتك المعلمة بشكل صحيح وأمان.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3