2016-12-17 3 views
0

Pythonでsqlalchemyツールキットを使用してPostgresSQLエンジンクエリを書くと、'カラム名が存在しません'というエラーが発生します。例えば大文字/小文字の問題なしにPythonでPostgreSQLクエリを書くには?

df = pd.read_sql_query('SELECT Descriptor FROM data LIMIT 3', engine) 

しかし、次のように変更してエラーがない:

df = pd.read_sql_query('SELECT \"Descriptor\" FROM data LIMIT 3', engine) 

は、私は(スラッシュを追加すること、すなわち、)この追加の手順を実行することを回避できる方法はありますおそらくいくつかのタイプのグローバル設定を使用していますか?

+0

可能であれば、テーブルの名前を小文字に変更します。 – teppic

+0

sqlalchemyを使用している場合、なぜこのような生のクエリを書いていますか? – e4c5

+0

@ e4c5私はsqlとsqlalchemyの新しい学習者ですので、私はこのチュートリアル(https://plot.ly/python/big-data-analytics-with-pandas-and-sqlite/)に従っています。あなたは私の最初の投稿にある質問を書く別の方法の例を提案できますか?ありがとうございました。 – user121

答えて

1

リーガルの小文字の識別子を使用してください。次に、識別子の大文字小文字の混同を避けるために、二重引用符は必要ありません。

あなたにリンクしてチュートリアルをSQLiteのではなく、Postgresの対象としています。しかし、引用符で囲まれていない識別子はPostgresで自動的に小文字にされるので、大文字と小文字の混同を避けるために二重引用符で表や列を作成しなかった場合、Postgresですべての識別子が同じになります。

関連する問題