Du er bidt af sagens (u)følsomhedsproblemer med PostgreSQL. Hvis du citerer tabelnavnet i forespørgslen, vil det virke:
df = pd.read_sql_query('select * from "Stat_Table"',con=engine)
Men personligt vil jeg råde til altid at bruge små bogstaver tabelnavne (og kolonnenavne), også når du skriver tabellen til databasen for at forhindre sådanne problemer.
Fra PostgreSQL-dokumenterne (http:// www.postgresql.org/docs/8.0/static/sql-syntax.html#SQL-SYNTAX-IDENTIFIERS ):
For at forklare lidt mere:du har skrevet en tabel med navnet Stat_Table
til databasen (og sqlalchemy vil citere dette navn, så det vil blive skrevet som "Stat_Table" i postgres-databasen). Når du udfører forespørgslen 'select * from Stat_Table'
det ikke-anførte tabelnavn vil blive konverteret til små bogstaver stat_table
, og så får du beskeden om, at denne tabel ikke er fundet.
Se f.eks. også Er PostgreSQL-kolonnenavne store og små?