sql >> Databáze >  >> RDS >> PostgreSQL

Vraťte datový rámec Pandas z dotazu PostgreSQL pomocí sqlalchemy

Jste kousnuti problémy s (ne)citlivostí PostgreSQL. Pokud v dotazu uvedete název tabulky, bude to fungovat:

df = pd.read_sql_query('select * from "Stat_Table"',con=engine)

Osobně bych však radil vždy používat názvy tabulek (a názvy sloupců) malými písmeny, a to i při zápisu tabulky do databáze, aby se takovým problémům předešlo.

Z dokumentů PostgreSQL (http:// www.postgresql.org/docs/8.0/static/sql-syntax.html#SQL-SYNTAX-IDENTIFIERS ):

Pro vysvětlení:napsali jste tabulku s názvem Stat_Table do databáze (a sqlalchemy bude toto jméno citovat, takže bude zapsáno jako "Stat_Table" v databázi postgres). Při provádění dotazu 'select * from Stat_Table' název tabulky bez uvozovek bude převeden na malá písmena stat_table , a tak dostanete zprávu, že tato tabulka nebyla nalezena.

Viz např. také Rozlišují se v názvech sloupců PostgreSQL velká a malá písmena?



  1. Alter Table je v postgresu příliš pomalý

  2. Existuje nějaký způsob, jak použít objekty json v SQL

  3. Jak mohu vytvořit tabulku sqlite z tohoto souboru xml/txt pomocí pythonu?

  4. Správné získávání objektů blob z databáze mysql pomocí konektoru mysql v pythonu