You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python记忆测验游戏中pandas.read_sql报str not tuple错误求助

问题解决:pandas.read_sql 执行SQL时的参数传递错误

错误原因

你把SQL语句和参数打包成元组传给了pandas.read_sql(),但该函数要求第一个参数是纯SQL字符串,查询参数需要通过专门的params参数传递。这种错误写法导致pandas把整个元组当作SQL语句执行,触发了类型错误。

修正后的代码

import sqlite3
import pandas as pd

connection = sqlite3.connect('Memory.db')
# 单独定义纯字符串格式的SQL语句
sql = "SELECT Date, Score FROM scoring WHERE UserID =?"
# 通过params参数传入查询参数
data = pd.read_sql(sql, connection, params=(Username_Login.value,))
connection.close()  # 操作完成后关闭数据库连接,避免资源泄漏

额外优化建议

可以用with语句自动管理数据库连接,无需手动关闭:

import sqlite3
import pandas as pd

with sqlite3.connect('Memory.db') as connection:
    sql = "SELECT Date, Score FROM scoring WHERE UserID =?"
    data = pd.read_sql(sql, connection, params=(Username_Login.value,))

内容的提问来源于stack exchange,提问作者Aaisha Garda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 14:55:26