我们正在使用熊猫read_sql来检索由前端触发的查询结果。为了简化用例,假设用户提供了一些参数(表名,子句等),然后我们将其转换为sql,然后使用read_sql执行它。 熊猫发送结果后,我们将其发送回前端,并显示给用户。到这里一切都很好。
我们还为用户提供“停止”选项,因此当查询时间较长时,我们在前端“停止”,并允许用户再次“查询”。
但是,问题是,我们无法在后端退出/终止此查询。
有没有一种方法可以根据上述情况取消执行?
答案 0 :(得分:0)
如果您按块读取数据并使用某种条件以便可以在必要时停止循环该怎么办?这对您有效吗?
import pandas as pd
query = 'SELECT...'
for chunk in pd.read_sql_query(query, connection, chunksize=10):
if user_cancel:
break
print(chunk)
更多信息:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_sql_query.html