Python 如何使用Jupyter将变量传递到SQL查询

Python 如何使用Jupyter将变量传递到SQL查询,python,google-bigquery,jupyter-notebook,Python,Google Bigquery,Jupyter Notebook,例如: %bq query -n qu SELECT * FROM Table WHERE [passed in variable (column)] = true 然后我想在循环中执行查询 for row in data: bq.execute qu(row[1]) 是否存在类似的情况 编辑:我为任何遇到这个问题的人想出了一个解决方案 For row in [dataset with your variables]: query = "

例如:

%bq query -n qu

SELECT 

    *

FROM

    Table

WHERE 

    [passed in variable (column)] = true
然后我想在循环中执行查询

for row in data:

  bq.execute qu(row[1])
是否存在类似的情况

编辑:我为任何遇到这个问题的人想出了一个解决方案

For row in [dataset with your variables]:

   query = "SELECT * FROM DATASET WHERE {} = TRUE".format(variableData[0])

   tab = bq.Query(query)

   df = tab.execute(output_options=bq.QueryOutput.dataframe()).result()

   qu = [list(x) for x in df.as_matrix()]

   print(qu)

下面是一个显示Python变量替换的完整示例。

笔记本显示以下内容:

  • 从一些随机CSV数据创建一个BigQuery表
  • 使用GBQ连接器查询该表
  • 使用Python变量替换对该表构造并执行查询

  • 下面是一个显示Python变量替换的完整示例。

    笔记本显示以下内容:

  • 从一些随机CSV数据创建一个BigQuery表
  • 使用GBQ连接器查询该表
  • 使用Python变量替换对该表构造并执行查询

  • 为什么要在循环中执行查询,而不是将所有变量传递到单个查询中?我需要500个不同的sql语句执行。当一个变量为true时,打印结果,然后另一个变量为true,等等。您可以在一个查询中提取所有数据,然后遍历结果吗?否,因为每个查询都需要以某种方式进行过滤。我找到了一个很好的解决方案,并将编辑我的问题为什么要在循环中执行查询,而不是将所有变量传递到一个查询中?我需要500个不同的sql语句执行。当一个变量为true时,打印结果,然后另一个变量为true,等等。您可以在一个查询中提取所有数据,然后遍历结果吗?否,因为每个查询都需要以某种方式进行过滤。我找到了一个很好的解决方案,并将编辑我的问题