51292


下記の二つのコードで同様の結果を出力したいのですが  
1のコードは[0 rows x 112 columns]と上手くいかないのですが  
2のコードで実行した時、[1 rows x 112 columns]と  
取りたいデータがとれます。  
1のコードのどこを修正すれば2のコードと同じ出力になるかご指摘頂けたらと思います。

1.

[code]

    import sqlalchemy.ext.declarative
    import pandas as pd
    
    url = 'postgresql+psycopg2://postgres:*****@127.0.0.1:****/test'
    
    engine = sqlalchemy.create_engine(url)
    
    table_name ='test2'
    name = '123456789101234'
    query = "select * from {} WHERE 'test_code' = '{}'".format(table_name, name)
    df = pd.io.sql.read_sql(query, engine)
    print('#############')
    print(df)
    
[/code]

* * *

2.

[code]

    import sqlalchemy.ext.declarative
    import pandas as pd
    
    url = 'postgresql+psycopg2://postgres:*****@127.0.0.1:****/test'
    
    engine = sqlalchemy.create_engine(url)
    table_name ='test2' 
    name = '123456789101234' 
    query = 'select * from {}'.format(table_name) 
    df2 = pd.io.sql.read_sql(query, engine) 
    print('#############') 
    df2 = df2[df2['test_code'] == name]
    print(df2)
    
[/code]


CC BY-SA 4.0
2018-12-17T07:16:24.260
51291
2018-12-17T08:12:45.347
2018-12-17T07:49:13.803
31490
31490
question
python python3 pandas postgresql
pd.io.sql.read_sqlで2つのコードの出力結果を同じにしたい


`test_code`を囲んでいるシングルクオート`' '`を外してみてください。  
シングルクオート付きのテーブル名だと解釈されていると思います。

[code]

    query = "select * from {} WHERE test_code = '{}'".format(table_name, name)
    
[/code]


CC BY-SA 4.0
2018-12-17T08:12:45.347
51292
2018-12-17T08:12:45.347
31397
51291
answer