PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Retorne o dataframe do Pandas da consulta do PostgreSQL com sqlalchemy


Você está mordido pelos problemas de (in)sensibilidade a maiúsculas e minúsculas com o PostgreSQL. Se você citar o nome da tabela na consulta, funcionará:
df = pd.read_sql_query('select * from "Stat_Table"',con=engine)

Mas, pessoalmente, eu aconselharia sempre usar nomes de tabelas em letras minúsculas (e nomes de colunas), também ao gravar a tabela no banco de dados para evitar esses problemas.

Dos documentos do PostgreSQL (http:// www.postgresql.org/docs/8.0/static/sql-syntax.html#SQL-SYNTAX-IDENTIFIERS ):

Para explicar um pouco mais:você escreveu uma tabela com o nome Stat_Table para o banco de dados (e sqlalchemy citará este nome, então ele será escrito como "Stat_Table" no banco de dados postgres). Ao fazer a consulta 'select * from Stat_Table' o nome da tabela sem aspas será convertido em letras minúsculas stat_table , e você recebe a mensagem de que esta tabela não foi encontrada.

Veja, por exemplo, também Os nomes das colunas do PostgreSQL diferenciam maiúsculas de minúsculas?