【问题标题】:Python - Pandas terminate `read_sql` based on user actionPython - Pandas 根据用户操作终止`read_sql`
【发布时间】:2018-11-16 10:18:40
【问题描述】:

我们使用 pandas read_sql 来检索由前端触发的查询结果。只是为了简化用例,假设用户提供了一些参数(表名、子句等),然后我们将其转换为 sql,然后使用 read_sql 执行它。 在 pandas 发送结果后,我们将其发送回前端,并显示给用户。到这里为止都很好。

我们还给用户“停止”选项,所以当查询时间较长时,我们在前端“停止”,并允许用户再次“查询”。

但是,问题是,我们无法在后端退出/终止此查询。

有没有办法根据上述情况取消执行?

【问题讨论】:

    标签: python python-2.7 pandas performance


    【解决方案1】:

    如果您按块读取数据并使用某些条件以便在必要时停止循环会怎样?这对你有效吗?

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-23
      • 1970-01-01
      • 2017-05-23
      • 2015-09-19
      • 1970-01-01
      • 2017-12-18
      相关资源
      最近更新 更多