如何在BIGQUERY加载API中跳过csv文件行

时间:2017-09-17 08:47:36

标签: google-bigquery google-cloud-storage

我正在尝试使用BigQuery API将CSV数据从云存储桶加载到BigQuery表 我的代码是:

def load_data_from_gcs(dataset_name, table_name, source):
    bigquery_client = bigquery.Client()
    dataset = bigquery_client.dataset(dataset_name)
    table = dataset.table(table_name)
    job_name = str(uuid.uuid4())

    job = bigquery_client.load_table_from_storage(
        job_name, table, source)
    job.sourceFormat = 'CSV'
    job.fieldDelimiter = ','
    job.skipLeadingRows = 2

    job.begin()
    job.result()  # Wait for job to complete

    print('Loaded {} rows into {}:{}.'.format(
        job.output_rows, dataset_name, table_name))

    wait_for_job(job)

它给了我错误:

400 CSV table encountered too many errors, giving up. Rows: 1; errors: 1.

这个错误是因为,我的csv文件包含前两行作为标题信息,不应该加载。我给了 job.skipLeadingRows = 2但它没有跳过前两行。 是否有其他语法来设置跳过行?

请帮忙。

1 个答案:

答案 0 :(得分:5)

你拼错了(使用camelcase而不是下划线)。它是skip_leading_rows,而不是skipLeadingRowsfield_delimitersource_format相同。

查看Python源代码here