sql >> Database teknologi >  >> RDS >> PostgreSQL

Returner Pandas dataramme fra PostgreSQL-forespørgsel med sqlalchemy

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å?



  1. Tomme mellemrum i kolonnenavne med MySQL

  2. Hvordan bevarer man svartekst på ikke-200 svar i Oracle UTL_HTTP?

  3. Hvordan LEFT JOIN, for at oprette et datointerval?

  4. Laravel classloader.php fejl kunne åbne stream:Ingen sådan fil eller mappe