के साथ पांडस read_sql पांडस में SQL क्वेरी के साथ पैरामीटर को पारित करने के तरीके के बारे में कोई उदाहरण हैं?पैरामीटर
विशेष रूप से मैं एक PostgreSQL डेटाबेस से कनेक्ट करने के लिए एक SQLAlchemy इंजन का उपयोग कर रहा हूँ। अब तक मैंने पाया कि निम्न काम करता है:
df = psql.read_sql(('select "Timestamp","Value" from "MyTable" '
'where "Timestamp" BETWEEN %s AND %s'),
db,params=[datetime(2014,6,24,16,0),datetime(2014,6,24,17,0)],
index_col=['Timestamp'])
पांडा प्रलेखन का कहना है कि पैरामीटर भी एक dict के रूप में पारित किया जा सकता है, लेकिन मैं इस उदाहरण के लिए कोशिश कर काम करने के लिए प्राप्त करने के लिए प्रतीत नहीं कर सकते हैं:
df = psql.read_sql(('select "Timestamp","Value" from "MyTable" '
'where "Timestamp" BETWEEN :dstart AND :dfinish'),
db,params={"dstart":datetime(2014,6,24,16,0),"dfinish":datetime(2014,6,24,17,0)},
index_col=['Timestamp'])
पांडों से इन प्रकार के प्रश्नों को चलाने का अनुशंसित तरीका क्या है?
के आधार पर भिन्न होता है यह बहुत उपयोगी है - मैं psycopg2 का उपयोग कर रहा हूं, इसलिए '% (name) s वाक्यविन्यास पूरी तरह से काम करता है। – tobycoleman
हमें शायद डॉकस्ट्रिंग में इसके बारे में कुछ उल्लेख करना चाहिए: https: //github.com/pydata/pandas/issues/7573 – joris
यह समाधान अब पोस्टग्रेस पर काम नहीं करता है - किसी को 'नोटेशन' का उपयोग करने की आवश्यकता है, और फिर सुनिश्चित करें एसक्यूएल स्ट्रिंग को 'sqlalchemy.text()' के साथ लपेटने के लिए – hamx0r