首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在query_to_pandas中使用变量

如何在query_to_pandas中使用变量
EN

Stack Overflow用户
提问于 2019-07-07 20:58:22
回答 2查看 260关注 0票数 0

我刚用BigQuery和一些东西转储到SQL中,所以我对这类东西不太了解。当前正在尝试创建一个输入字符串的方法(要取出的数据集名称)。但是,我似乎不能在不返回错误的情况下将字符串放入我想要的变量中。

我查看了如何为SQL内容添加变量,但大多数解决方案都不适合我的情况。然后,我在“”变量之前添加了$s并添加了s。

代码语言:javascript
复制
import pandas as pd
import bq_helper
from bq_helper import BigQueryHelper
# Some code about using BQ_helper to get the data, if you need it lmk

# test = `data.patentsview.application`

query1 = s"""
SELECT * FROM $s
LIMIT
 20;
        """
response1 = patentsview.query_to_pandas_safe(query1)
response1.head(20)

上面的代码返回错误代码。

代码语言:javascript
复制
File "<ipython-input-63-6b07957ebb81>", line 8
    """

^
SyntaxError: invalid syntax 

编辑:原代码工作,但必须手动蛮力是这样

代码语言:javascript
复制
query1 = """
SELECT * FROM `patents-public-data.patentsview.application`
LIMIT
 20;
        """
response1 = patentsview.query_to_pandas_safe(query1)
response1.head(20)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-07 22:43:25

如果我对你的理解是正确的,这可能就是你想要的:

代码语言:javascript
复制
#making up some variables:
vars = ['`patents-public-data.patentsview.application','`patents-private-data.patentsview.application']

for var in vars:
    query = f"""SELECT * FROM {var}
LIMIT
 20;
 """
    print(query)

输出:

代码语言:javascript
复制
 SELECT * FROM `patents-public-data.patentsview.application
LIMIT
 20;

SELECT * FROM `patents-private-data.patentsview.application
LIMIT
 20;
票数 0
EN

Stack Overflow用户

发布于 2019-07-07 22:38:34

我认为这应该有帮助:named-python

若要指定命名参数,请使用@字符,后面跟着标识符(如@param_name )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56926069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档