使用 Python 将 Google Cloud Storage 中的数据加载到 BigQuery 时,如何强制忽略双引号?
Posted
技术标签:
【中文标题】使用 Python 将 Google Cloud Storage 中的数据加载到 BigQuery 时,如何强制忽略双引号?【英文标题】:How to force double quotes to be ignored when loading data from Google Cloud Storage into BigQuery using Python? 【发布时间】:2018-11-17 01:03:32 【问题描述】:我们正在尝试将数据加载到 BigQuery 中,但双引号会导致问题。
根据this question on SO,可以通过设置参数configuration.load.quote = ""来忽略双引号。给出了如何从命令行执行此操作的示例。
我们尝试添加 job_config.load.quote = "" 但我们收到一个错误,即 job_config 没有名为 load 的方法。
我们在使用 Python 时如何设置 load.quote 参数?
到目前为止,这是我们的代码:
dataset_id = 'our_dataset_id'
dataset_ref = bigquery_client.dataset(dataset_id)
job_config = bigquery.LoadJobConfig()
job_config.skip_leading_rows = 0
job_config.source_format = bigquery.SourceFormat.CSV
uri = 'gs://our/bucket/path.csv'
load_job = bigquery_client.load_table_from_uri(
uri,
dataset_ref.table('our_destination_table'),
job_config=job_config
)
print('Starting job '.format(load_job.job_id))
load_job.result()
【问题讨论】:
【参考方案1】:我们发现命令行命令和 Python API 之间的参数不一致,这就是它们失败的原因。
添加这一行:
job_config.quote_character = ""
这里是作业配置的 Python 参数链接:https://googleapis.github.io/google-cloud-python/latest/bigquery/generated/google.cloud.bigquery.job.LoadJobConfig.html#google.cloud.bigquery.job.LoadJobConfig.quote_character
【讨论】:
以上是关于使用 Python 将 Google Cloud Storage 中的数据加载到 BigQuery 时,如何强制忽略双引号?的主要内容,如果未能解决你的问题,请参考以下文章
我如何将我的Python代码链接到Google Cloud的服务?我应该使用哪种服务?
将 python 对象上传到 Google Cloud Storage 而不将其保存到文件
使用 Python 将 Google Cloud Storage 中的数据加载到 BigQuery 时,如何强制忽略双引号?