我在python中有一个客户端API,该API执行BigQuery作业以触发查询并将查询结果写入相应的BigQuery表中。如何确定该查询结果是否在执行时返回零记录?
Python代码:
def main(request):
query = "select * from `myproject.mydataset.mytable`"
client = bigquery.Client()
job_config = bigquery.QueryJobConfig()
dest_dataset = client.dataset(destination_dataset, destination_project)
dest_table = dest_dataset.table(destination_table)
job_config.destination = dest_table
job_config.create_disposition = 'CREATE_IF_NEEDED'
job_config.write_disposition = 'WRITE_APPEND'
job = client.query(query, location='US', job_config=job_config)
job.result()
我想要如果查询结果没有记录,那么它应该为我打印一些消息。有人可以建议如何做到这一点。
答案 0 :(得分:4)
QueryJob.result()
返回一个RowIterator
,它具有一个名为total_rows
的属性。
所以,像这样:
result = job.result()
if result.total_rows == 0:
print('no results')
根据@Dom Zippilli's comment更新:。 total_rows
是您要寻找的。 p>