我正在尝试使用Python API读取Bigquery中表的选定字段。
这是我的代码:
rows = bigquery_client.list_rows(table_ref,
selected_fields=[bigquery.SchemaField('id', 'INTEGER'),
bigquery.SchemaField('name', 'STRING'),
bigquery.SchemaField('short_name', 'STRING'),
bigquery.SchemaField('subdomain', 'STRING'),
bigquery.SchemaField('address', 'STRING'),
bigquery.SchemaField('address2', 'STRING'),
bigquery.SchemaField('department', 'STRING'),
bigquery.SchemaField('city', 'STRING'),
bigquery.SchemaField('state', 'STRING'),
bigquery.SchemaField('zip', 'STRING')])
for row in rows: # API request
print(row)
我得到了这个错误:
ValueError: time data 'dummy' does not match format '%Y-%m-%dT%H:%M:%S'
这个虚拟值来自子域字段,标记为String,所以我不明白为什么Bigquery将其解析为DateTime。我已经检查过表格是否创建得很好,所以这不是问题所在。
任何帮助?
答案 0 :(得分:1)
我用这个解决了这个问题:
# Start the query, passing in the extra configuration.
query = """SELECT id, name, short_name,
subdomain, address, address2, department, state, zip
from dataset.table;"""
query_job = bigquery_client.query(query, job_config=job_config)