使用变量的 Pandas Sqlite 查询

2023-12-28

使用Python中的sqlite3,如果我想使用变量而不是固定命令进行数据库查询,我可以这样做:

name = 'MSFT'

c.execute('INSERT INTO Symbol VALUES (?) ', (name,))

当我尝试使用 pandas 数据框访问 SQL 数据库时 我可以做这个:

df = pd.read_sql_query('SELECT open FROM NYSEXOM', conn) 

但是我不确定如何在引用变量时将数据从 SQL 加载到 pandas 数据框。我已经尝试过以下方法:

conn = sqlite3.connect('stocks.db')
dates= [20100102,20100103,20100104]
for date in dates:

    f = pd.read_sql_query('SELECT open FROM NYSEMSFT WHERE date = (?)', conn, (date,))

当我运行此命令时,我收到一条错误消息“提供的绑定数量不正确,当前语句使用 1,并且提供了 0 个”

如何使用变量引用正确格式化命令以将 SQL 数据加载到 pandas 数据框中?


您需要使用params 关键字参数:

f = pd.read_sql_query('SELECT open FROM NYSEMSFT WHERE date = (?)', conn, params=(date,))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用变量的 Pandas Sqlite 查询 的相关文章

随机推荐