繁体   English   中英

BigQuery Python 客户端中的变量表名

[英]Variable table name in BigQuery Python Client

看到 sql 查询的变量设置的正确格式后,我没有找到类似的方法来参数化表名。 例如,我有一个简单的查询如下

query = """
    select price, category, title, sm_title from `product.data_set.table_name` where  
    product = @product"""
    
    
    job_config = bigquery.QueryJobConfig(
    query_parameters=[
        bigquery.ScalarQueryParameter("product", "INT64", product),
    ])
    
    
    product_data = client.query(query, job_config=job_config).to_dataframe()

我希望table_name是一个可以传入的变量。是否有可以像在 job_config 中设置的那样使用的选项?

为 SQL 查询设置 python 变量可以使用python 的 f 字符串格式化方法完成,正如@EdoAkse 在评论中所建议的那样。

您可以在下面使用

table_name = "tablenamegoeshere"
query = f""" select price, category, title, sm_title from `product.data_set.{table_name}` where product = @product"""

将答案发布为社区 wiki ,以造福于将来可能会遇到此用例的社区。

请随意编辑此答案以获取更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM