【问题标题】:pandas sqlite - No such column with variablepandas sqlite - 没有这样的变量列
【发布时间】: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'))

标签: python pandas sqlite


【解决方案1】:

您需要在值周围加上引号:

sql = """ SELECT * FROM clients WHERE first_name='{}' """.format('john'))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-05
    • 2020-06-02
    • 2020-08-16
    • 2017-02-09
    • 2015-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多