无法使用python在bigquery中设置Allow quoted newlines属性?

时间:2016-09-13 11:48:31

标签: python python-2.7 google-bigquery google-api-client google-api-python-client

我无法在google bigquery加载作业中启用属性“允许引用换行符”。

configuration = {
        'load': {
            'createDisposition': create_disposition,
            'destinationTable': {
                'projectId': destination_project,
                'datasetId': destination_dataset,
                'tableId': destination_table,
            },
            'schema': {
                'fields': schema_fields
            },
            'sourceFormat': source_format,
            'sourceUris': source_uris,
            'writeDisposition': write_disposition,
            'allowJaggedRows': True,
            'allowQuotedNewlines': True,
            'ignoreUnknownValues': True
        }
    }

    if source_format == 'CSV':
        configuration['load']['skipLeadingRows'] = skip_leading_rows
        configuration['load']['fieldDelimiter'] = field_delimiter
        configuration['load']['encoding'] = 'UTF-8'
        configuration['load']['quote'] = ''

jobs = self.service.jobs()
        job_data = {
            'configuration': configuration
        }
query_reply = jobs \
            .insert(projectId=self.project_id, body=job_data) \
            .execute()
        job_id = query_reply['jobReference']['jobId']
        job = jobs.get(projectId=self.project_id, jobId=job_id).execute()

但是属性'allowQuotedNewlines':True 不起作用。当我使用bigquery UI(Web视图)进行检查时,不会检查此属性。

enter image description here

我错过了什么吗?问题是什么?

2 个答案:

答案 0 :(得分:0)

尝试删除该行 配置['加载'] ['引用'] =''

如果要允许引用的换行符,则必须指定非空引号char。

答案 1 :(得分:0)

对于遇到此问题的其他人,以上语法适用于与API交互的JSON脚本。

对于Python bigquery.LoadJobConfig(),使用allow_quoted_newlines获取Job,以正确加载数据中带引号的换行符。