使用 where 子句中的变量从 sqlite3 读取 pandas 帧
reading pandas frame from sqlite3 using variable in where clause
我有一个相当大的 sqlite3 数据库,有时在尝试将其读入 Pandas 数据帧时会出现内存错误。我可以使用 WHERE 函数来限制框架的大小,这样它就可以工作了。
con = sqlite3.connect("myDB.db")
frame = pd_sql.read_frame('SELECT * FROM Basketball WHERE League == "NBA"', pinnyCon)
我该如何命名一个变量才能使这样的东西起作用?
def GetLeagueFrame(leagueName):
con = sqlite3.connect("myDB.db")
frame = pd_sql.read_frame('SELECT * FROM Basketball WHERE League == leagueName', pinnyCon)
con.close()
return frame
您可以使用带有 ?
的参数替换:
pd.read_sql_query('SELECT * FROM Basketball WHERE League = ?', con, params=(leagueName, ))
有关 params
关键字的更多说明,请参阅 read_sql_query
docstring。
我有一个相当大的 sqlite3 数据库,有时在尝试将其读入 Pandas 数据帧时会出现内存错误。我可以使用 WHERE 函数来限制框架的大小,这样它就可以工作了。
con = sqlite3.connect("myDB.db")
frame = pd_sql.read_frame('SELECT * FROM Basketball WHERE League == "NBA"', pinnyCon)
我该如何命名一个变量才能使这样的东西起作用?
def GetLeagueFrame(leagueName):
con = sqlite3.connect("myDB.db")
frame = pd_sql.read_frame('SELECT * FROM Basketball WHERE League == leagueName', pinnyCon)
con.close()
return frame
您可以使用带有 ?
的参数替换:
pd.read_sql_query('SELECT * FROM Basketball WHERE League = ?', con, params=(leagueName, ))
有关 params
关键字的更多说明,请参阅 read_sql_query
docstring。