【问题标题】:Invalid quote formatting for CSV with double quotes (Redshift loading)带双引号的 CSV 的无效引号格式(Redshift 加载)
【发布时间】:2015-08-11 02:31:14
【问题描述】:

我有一个包含以下内容的 CSV:

id,homie_id,user_id,some_data,some_datetime,list_stuff,confirmed_at,report_id
     1,57,1,,,"{\"assets\":[]}","2014-12-26 16:50:32",18
     2,59,1,,,"{\"assets\":[]}","2014-12-26 16:50:46",18

当我运行 COPY 命令时,我收到一个错误“CSV 的引号格式无效”

这是为什么呢?它在引号之前有反斜杠,所以它应该是可以接受的。我看到 Redshift 说要使用 "" 代替 (https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-format.html#copy-data-format-parameters) 但有没有办法告诉它接受 \" 因为这是使用 CSV 转义引号的有效方法?

我已经尝试过谷歌搜索,但没有看到这行不通的原因。

【问题讨论】:

    标签: csv amazon-redshift


    【解决方案1】:

    实际上并没有办法强制 Redshift 使用反斜杠作为转义字符。 您必须将输入数据转换为 Redshift 可以处理的格式。一种方法是用双引号替换所有反斜杠。例如, "{\"assets\":[]}" 转换为 "{""assets"":[]}",然后可由 Redshift 解析,最终该字段的实际数据应类似于 {"assets":[]}

    来自docs

    默认的引号字符是双引号 ( " )。当 引号字符在字段中使用,使用转义字符 额外的引号字符。例如,如果引号字符是 双引号,插入字符串A "quoted" word输入 文件应包含字符串"A ""quoted"" word"

    【讨论】:

      猜你喜欢
      • 2015-10-29
      • 1970-01-01
      • 1970-01-01
      • 2014-04-22
      • 2020-03-30
      • 1970-01-01
      • 1970-01-01
      • 2021-06-07
      • 1970-01-01
      相关资源
      最近更新 更多