使用 Python 客户端将 CSV 附加到 BigQuery table

Appending CSV to BigQuery table with Python client

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

请参阅下面的简单示例

# 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 Documentation

中查看更多详细信息