当前位置: 首页 > 知识库问答 >
问题:

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

孟绪
2023-03-14

我正在尝试使用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.skiequencingrows=2,但它没有跳过前2行。是否有其他语法设置跳过行?

请帮忙。

共有1个答案

滑景胜
2023-03-14

你拼写错了(用骆驼格代替下划线)。它是skip_leading_rows,而不是skipHeadingRowfield_delimitersource_format也是如此。

在这里查看Python源代码。

 类似资料:
  • 假设我给出了三个指向Spark上下文的文件路径来读取,每个文件的第一行都有一个模式。如何从标题中跳过模式行? 现在,我们如何从这个RDD跳过标题行呢?

  • 我正在使用JMeter运行API负载测试。其中我使用一个CSV文件来传递数据。 应用程序接口: CSV(共赢): CSV 文件 : 问题:JMeter 总是选择具有 isexternal = true 的行,并跳过所有具有 isexternal 作为 false 的行。这是我面临的奇怪行为。任何人都可以解释一下背后的原因吗?

  • 问题内容: 我有一个笨拙的csv文件,我需要跳过第一行来阅读它。 我正在使用python / pandas轻松做到这一点 但是我不知道如何在Go中做到这一点。 错误: : 问题答案: 读取csv文件时跳过第一行 例如, 输出:

  • 问题内容: 在angularjs中,我创建了一些加载JSON对象的对象: 在控制器中,我可以这样称呼它: 如您所见,我正在加载文件。 对文件执行相同的处理流程是什么? 在我的情况下 是对象列表。 有人知道如何使用或其他方式获取CSV数据吗? 问题答案: 您必须将CSV文件解析为一个数组。您可以在其他替代方法中看到此问题 然后,您将得到如下结果:

  • 问题内容: 问题-设置Firefox配置文件后,Firefox在下载CSV文件时一直询问下载位置。请帮忙。 问题答案: 我看不到您的代码中的任何重大问题。但是,当你的等级不记得添加所有相关的CSV类型的文件在此提到的网站。 这是您自己的代码块,其中添加了一些简单的调整: 我已经在此站点和Microsoft 网站上验证了我的代码,并且在我看来效果很好。

  • 问题内容: 我正在尝试从D3中的CSV文件加载数据;我有以下代码: 如果我使用D3 v4,它可以正常工作,但是如果我切换到v5,它将不再起作用。有人可以向我解释如何修改代码以使其与D3 v5兼容吗? 问题答案: d3 v5使用访存API并返回要求以下代码的Promise。 万一将来人们想要v4。另一方面,d3v4使用XMLHttpRequest方法,并且不返回要求此代码的Promise csv加载