Python - Панды завершают `read_sql` в зависимости от действий пользователя - PullRequest
0 голосов
/ 16 ноября 2018

Мы используем pandas read_sql для получения результатов запроса, которые запускаются внешним интерфейсом.Просто чтобы упростить вариант использования, предположим, что пользователь дает некоторые параметры (имя таблицы, предложения и т. Д.), Которые мы затем конвертируем в sql, а затем выполняем его с помощью read_sql.После того, как pandas отправляет результат, мы отправляем его обратно во внешний интерфейс, где он отображается пользователю.Все хорошо, пока здесь.

Мы также даем пользователю возможность «остановить», поэтому, когда запрос занимает больше времени, мы «останавливаемся» во внешнем интерфейсе и разрешаем пользователю «запрашивать» снова.

Однако проблема в том, что у нас нет способа выйти / завершить этот запрос на бэкэнде.

Есть ли способ отменить выполнение на основе вышеуказанного сценария?

1 Ответ

0 голосов
/ 16 ноября 2018

Что делать, если вы читаете данные по частям и используете какое-то условие, чтобы при необходимости можно было остановить цикл? Будет ли это действительно для вас?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...