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变量替换的完整示例。 笔记本显示以下内容:
下面是一个显示Python变量替换的完整示例。 笔记本显示以下内容:
为什么要在循环中执行查询,而不是将所有变量传递到单个查询中?我需要500个不同的sql语句执行。当一个变量为true时,打印结果,然后另一个变量为true,等等。您可以在一个查询中提取所有数据,然后遍历结果吗?否,因为每个查询都需要以某种方式进行过滤。我找到了一个很好的解决方案,并将编辑我的问题为什么要在循环中执行查询,而不是将所有变量传递到一个查询中?我需要500个不同的sql语句执行。当一个变量为true时,打印结果,然后另一个变量为true,等等。您可以在一个查询中提取所有数据,然后遍历结果吗?否,因为每个查询都需要以某种方式进行过滤。我找到了一个很好的解决方案,并将编辑我的问题