如何使用第一行的列名将 CSV 导入 BigQuery 上的现有表?
Posted
技术标签:
【中文标题】如何使用第一行的列名将 CSV 导入 BigQuery 上的现有表?【英文标题】:How to import CSV to an existing table on BigQuery using columns names from first row? 【发布时间】:2017-07-17 23:23:21 【问题描述】:我有一个 python 脚本,它执行 gbq 作业以将 csv 文件从 Google 云存储导入到 BigQuery 上的现有表。 如何设置作业属性以导入 csv 文件第一行中提供的正确列? 我将参数“allowJaggedRows”设置为 TRUE,但它会按顺序导入列,而不考虑 csv 文件标题中的列名。
【问题讨论】:
【参考方案1】:当您将 CSV 导入 BigQuery 时,列将按照 CSV 显示它们的顺序进行映射 - 第一行(标题)不会对后续行的读取顺序产生任何影响。
需要注意的是,如果您要导入 JSON 文件,那么 BigQuery 将使用每列的名称,而忽略顺序。
【讨论】:
我改用了 json 文件。我还将“allowJaggedRows”设置为 TRUE,因为我缺少列。但是,当我执行我的 python 代码时,我收到一个错误“并非所有参数都在字符串格式化期间转换”。似乎它不允许在 json 文件中缺少列。以上是关于如何使用第一行的列名将 CSV 导入 BigQuery 上的现有表?的主要内容,如果未能解决你的问题,请参考以下文章
Pandas:如何比较导入的 csv 文件的列以确保它们相同?