"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पंडों के साथ पैरामीटर कैसे पास करें read_sql?

पंडों के साथ पैरामीटर कैसे पास करें read_sql?

2024-11-08 को प्रकाशित
ब्राउज़ करें:215

How to Pass Parameters with Pandas read_sql?

पांडास read_sql के साथ पासिंग पैरामीटर्स

अवलोकन

पांडास read_sql फ़ंक्शन आपको SQL क्वेरी निष्पादित करने और डेटाबेस से डेटा पुनर्प्राप्त करने की अनुमति देता है। इसकी एक विशेषता क्वेरी में पैरामीटर पास करने की क्षमता है।

पैरामीटर सिंटैक्स

पैराम्स को एक सूची, टपल या डिक्ट के रूप में पारित किया जा सकता है। सटीक सिंटैक्स उपयोग किए जा रहे डेटाबेस ड्राइवर पर निर्भर करता है। यहां कुछ सामान्य उदाहरण दिए गए हैं:

  • ? या %s: एकल मान के लिए प्लेसहोल्डर
  • :1 या :name: एकल मान के लिए नामित प्लेसहोल्डर
  • %(name)s: स्ट्रिंग.फॉर्मेट सिंटैक्स का उपयोग करके नामित प्लेसहोल्डर

नामांकित तर्कों के साथ एक शब्दकोश का उपयोग करना

पैरामीटर पास करने के लिए एक विकल्प एक शब्दकोश का उपयोग करना है। यह अधिकांश ड्राइवरों द्वारा समर्थित है, जिसमें psycopg2 ड्राइवर के साथ PostgreSQL भी शामिल है। शब्दकोश में कुंजी-मूल्य जोड़े क्वेरी में नामित प्लेसहोल्डर के अनुरूप हैं।

उदाहरण

नामित तर्क दृष्टिकोण को प्रदर्शित करने के लिए, आइए निम्नलिखित SQL क्वेरी पर विचार करें:

select "Timestamp", "Value" from "MyTable"
where "Timestamp" BETWEEN :dstart AND :dfinish

के बीच है, यहां बताया गया है कि आप शब्दकोश का उपयोग करके इस क्वेरी के लिए पैरामीटर कैसे पास करेंगे:

params = {"dstart": datetime(2014, 6, 24, 16, 0), "dfinish": datetime(2014, 6, 24, 17, 0)}

df = psql.read_sql(
    "select \"Timestamp\",\"Value\" from \"MyTable\" where \"Timestamp\" BETWEEN %(dstart)s AND %(dfinish)s",
    db,
    params=params,
    index_col=["Timestamp"],
)

इस उदाहरण में, पैराम्स शब्दकोश नामित प्लेसहोल्डर्स के लिए मान प्रदान करता है :dstart और :dfinish। %(name)s सिंटैक्स यह सुनिश्चित करता है कि मान क्वेरी में सही ढंग से डाले गए हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3