【问题标题】:Can queries in the bigquery python API use python variables?bigquery python API 中的查询可以使用 python 变量吗?
【发布时间】:2020-05-10 02:43:44
【问题描述】:

我想在 bigquery 的数据集中对多个表运行 sql 查询。我在 python 脚本的列表中有这些表的名称,我想遍历该列表并在列表中的每个表上运行查询。

我的问题是我无法弄清楚如何构造我的查询以将 python 变量作为输入。例如,我的脚本中有这些变量:

# Variables for testing
dataset_id = 'test_dataset'
table_id = 'test_table'

这就是我尝试在查询对象中使用它们的方式:

query = """
          SELECT *
          FROM """ + dataset_id + '.' + table_id + """
          ORDER BY 1 asc;

    """

这不起作用,我在网上找不到任何相关内容。如果您能帮助我正确构建此查询,我将不胜感激!

【问题讨论】:

    标签: python-3.x google-bigquery


    【解决方案1】:

    它应该可以工作。为了确保它正常工作,您可以在表名的开头和结尾添加反引号。 此外,通过在 python 中使用 f-strings,您可以以更易读的方式在字符串中注入变量。

    query = f"""
              SELECT *
              FROM `{dataset_id}.{table_id}`
              ORDER BY 1 asc;
    
        """
    

    【讨论】:

      猜你喜欢
      • 2017-07-28
      • 2010-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-15
      相关资源
      最近更新 更多