【问题标题】:inserting quotes in big query在大查询中插入引号
【发布时间】:2012-05-03 09:59:10
【问题描述】:

我可以轻松上传由 ^ 分隔的文件 它看起来像......

CN^others^2012-05-03 00:02:25^^^^^Mozilla/5.0^通用网络浏览器^^^^^^^^

CN^others^2012-05-03 00:02:26^^^^^Mozilla/5.0^通用网络浏览器^^^^^^^^

但是如果我在某处有双引号,它会失败并显示错误消息...

Line:1 / Field:, 右双引号 (") 和字段分隔符之间的数据:字段以: 遇到的错误太多。限制为:0。

CN^others^2012-05-03 00:02:25^^^^^"Mozilla/5.0^通用网络浏览器^^^^^^^^

我经常获取带有“Mozilla 作为浏览器名称的文件,如何插入带有双引号的数据?

【问题讨论】:

  • sed 's/\"//' # 使用 sed 我已经删除了双引号,但我想知道如何在插入数据时处理引号。

标签: google-bigquery


【解决方案1】:

引号可以用另一个引号转义。例如,字段:This field has "internal quotes". 将变为 This field has ""internal quotes"".

sed 's/\"/\"\"/g' 应该可以解决问题。

请注意,为了导入包含引用换行符的数据,您需要在导入配置中将 allow_quoted_newlines 标志设置为 true。这意味着无法并行处理导入,因此可能比没有设置该标志的导入数据要慢。

【讨论】:

  • 我从第三方获取 gzip 格式的文件,但我没有机会执行 sed 命令。我想知道当分隔符是'^'或管道'|'时是否可以有一个允许引号的参数。在这种情况下,不需要转义双引号。
  • 我已提交内部功能请求以允许指定任意(或无)引号字符。我认为这比尝试根据分隔符确定引用的行为方式更清楚。
猜你喜欢
  • 2021-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-22
  • 2016-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多