आप PostgreSQL के साथ मामले (में) संवेदनशीलता के मुद्दों से काट रहे हैं। यदि आप क्वेरी में तालिका का नाम उद्धृत करते हैं, तो यह काम करेगा:
df = pd.read_sql_query('select * from "Stat_Table"',con=engine)
लेकिन व्यक्तिगत रूप से, मैं सलाह दूंगा कि ऐसे मुद्दों को रोकने के लिए डेटाबेस में टेबल लिखते समय हमेशा लोअर केस टेबल नाम (और कॉलम नाम) का उपयोग करें।
PostgreSQL डॉक्स से (http:// www.postgresql.org/docs/8.0/static/sql-syntax.html#SQL-SYNTAX-IDENTIFIERS ):
थोड़ा और समझाने के लिए:आपने Stat_Table
. नाम से एक टेबल लिखी है डेटाबेस के लिए (और sqlalchemy इस नाम को उद्धृत करेगा, इसलिए इसे पोस्टग्रेज डेटाबेस में "Stat_Table" के रूप में लिखा जाएगा)। क्वेरी करते समय 'select * from Stat_Table'
गैर-उद्धृत तालिका का नाम लोअर केस में बदल दिया जाएगा stat_table
, और इसलिए आपको यह संदेश मिलता है कि यह तालिका नहीं मिली है।
यह भी देखें क्या PostgreSQL कॉलम नाम केस-संवेदी हैं?ए>