簡體   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