【发布时间】:2019-12-10 23:55:12
【问题描述】:
我正在使用 pd.read_sql_query 将数据从 sqlite 获取到 pandas。不足为奇,但以下内容按预期工作。
import sqlite3
import pandas as pd
conn = sqlite3.connect('AmApp.db')
sql = """SELECT * FROM clients WHERE first_name='john'""", conn)
df = pd.read_sql_query(sql, conn)
print (df)
但是,一旦我将变量添加到名字中,如下所示,我得到了错误:
pandas.io.sql.DatabaseError:在 sql 'SELECT * FROM clients WHERE first_name=john'上执行失败:没有这样的列:john
import sqlite3
import pandas as pd
conn = sqlite3.connect('AmApp.db')
sql = """SELECT * FROM clients WHERE first_name={}""".format('john'))
df = pd.read_sql_query(sql, conn)
print (df
我不太明白我哪里出了问题。
【问题讨论】:
-
试试这个
sql = """SELECT * FROM clients WHERE first_name='{}'""".format('john'))