我有一个相当大的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
答案 0 :(得分:2)
您可以使用?
的参数替换:
pd.read_sql_query('SELECT * FROM Basketball WHERE League = ?', con, params=(leagueName, ))
有关params
关键字的详细说明,请参阅read_sql_query
docstring。