0

我每周都有一个格式相同的新 CSV 文件,我需要使用 Python 客户端将其附加到 BigQuery 表中。我使用第一个 CSV 成功创建了表,但我不确定如何附加后续的 CSV。我发现的唯一方法是 google.cloud.bigquery.client.Client().insert_rows() 方法。请参阅此处的api 链接。这将要求我首先将 CSV 作为字典列表读取。有没有更好的方法将数据从 CSV 附加到 BigQuery 表?

4

1 回答 1

1

请参阅下面的简单示例

# from google.cloud import bigquery
# client = bigquery.Client()
# table_ref = client.dataset('my_dataset').table('existing_table')

job_config = bigquery.LoadJobConfig()
job_config.write_disposition = bigquery.WriteDisposition.WRITE_APPEND
job_config.skip_leading_rows = 1

# The source format defaults to CSV, so the line below is optional.
job_config.source_format = bigquery.SourceFormat.CSV
uri = "gs://your_bucket/path/your_file.csv"
load_job = client.load_table_from_uri(
    uri, table_ref, job_config=job_config
)  # API request
print("Starting job {}".format(load_job.job_id))

load_job.result()  # Waits for table load to complete.
print("Job finished.")

destination_table = client.get_table(table_ref)
print("Loaded {} rows.".format(destination_table.num_rows))  

在BigQuery 文档中查看更多详细信息

于 2019-09-08T20:18:56.007 回答