我们正在使用 pandas read_sql用于检索前端触发的查询结果。为了简化用例,假设用户给出一些参数(表名、子句等),然后我们将其转换为 sql,然后使用 read_sql 执行它。 pandas 发送结果后,我们将其发送回前端,并在前端显示给用户。到这里一切都好。
我们还为用户提供“停止”选项,因此当查询时间较长时,我们会在前端“停止”,并允许用户再次“查询”。
但是,问题是,我们无法在后端退出/终止此查询。
有没有办法可以根据上述情况取消执行?
最佳答案
如果您按 block 读取数据并使用某些条件以便在必要时停止循环会怎么样?这对您有效吗?
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
关于Python - Pandas 根据用户操作终止 `read_sql`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53335768/