![](/img/trans.png)
[英]How to convert results returned from bigquery to Json format using Python?
[英]Problems querying with python to BigQuery (Python String Format)
我正在尝试查询 BigQuery 以修改一行的所有值(在 python 中)。 当我使用一个简单的字符串来查询时,我没有问题。 然而,当我引入字符串格式时,查询不起作用。 如下所示,我提出了相同的查询,但减少了我正在修改的列数。 我已经通过定义客户端等连接到 BigQuery(并且工作正常)。
我试过:
"UPDATE `riscos-dev.survey_test.data-test-bdrn` SET informaci_meteorol_gica = {inf}, risc = {ri} WHERE objectid = {obj_id}".format(inf = df.informaci_meteorol_gica[index], ri = df.risc[index], obj_id = df.objectid[index])
以格式指定输入值: df.informaci_meteorol_gica[index] = 'Neu'
,也是df.risc[index] and df.objectid[index] = 3
的字符串
我收到以下错误消息:
BadRequest: 400 Braced constructors are not supported at [1:77]
我建议您使用Python
中f
string
格式化的另一种方法,而不是使用string
的format
方法:
def build_query():
inf = "'test_inf'"
ri = "'test_ri'"
obj_id = "'test_obj_id'"
return f"UPDATE `riscos-dev.survey_test.data-test-bdrn` SET informaci_meteorol_gica = {inf}, risc = {ri} WHERE objectid = {obj_id}"
if __name__ == '__main__':
query = build_query()
print(query)
结果是:
UPDATE `riscos-dev.survey_test.data-test-bdrn` SET informaci_meteorol_gica = 'test_inf', risc = 'test_ri' WHERE objectid = 'test_obj_id'
我在我的示例中模拟了查询参数:
inf = "'test_inf'"
ri = "'test_ri'"
obj_id = "'test_obj_id'"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.