Python - Pandas 根据用户操作终止 `read_sql`

标签 python python-2.7 pandas performance

我们正在使用 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/

相关文章:

Python不返回值而是打印值

python - python中的双for循环

python - PyBrain 多个目标值

python - 如何使用 termcolor 模块中的 colored 函数使字符串在指定时间内闪烁? [ python 2.7]

python - 如何在迭代器处返回 "peek",同时保留项目?

python - 带有 Tornado 的 Websockets : Get access from the "outside" to send messages to clients

python - Python中的继承基础

python - Pandas DataFrame 按日期移动列以创建滞后值

python - 从 Pandas 数据框中的其他列分配列的值

python - 将行 reshape 为 Pandas 数据框中的列