复制到 Redshift 时,如何处理 CSV 中的特殊字符?

Posted

技术标签:

【中文标题】复制到 Redshift 时,如何处理 CSV 中的特殊字符?【英文标题】:When COPYing to Redshift, how to deal with special characters in a CSV? 【发布时间】:2015-09-22 03:41:22 【问题描述】:

我正在使用带有 ACCEPTINVCHARS 的 COPY 将 CSV 加载到 Amazon Redshift。

不幸的是,我收到了类似的错误

Missing newline: Unexpected character 0x69 found at location 129

但是,如果我也尝试使用 ESCAPE 选项,则会出现异常

CSV is not compatible with ESCAPE

我应该怎么做才能将它复制到 Redshift 中?如果字符被替换,我很好?或其他。

【问题讨论】:

确切的字符是什么? 【参考方案1】:

忽略标题,因为标题可能与您的字段的数据类型不同。 使用 IGNOREHEADER 作为

更多详情请参考论坛, https://forums.aws.amazon.com/thread.jspa?messageID=557452

【讨论】:

请通过论坛链接,根据实际数据有多种可能性。 如果您使用INSERT INTO查询而不是COPY命令插入数据,在这种情况下如何包含“acceptinvchars”?【参考方案2】:

对于后代,“CSV 与 ESCAPE 不兼容”可能是正确的,但您实际上并不需要 CSV 关键字来加载 CSV,因此值得尝试从复制命令中删除 CSV 关键字。

【讨论】:

以上是关于复制到 Redshift 时,如何处理 CSV 中的特殊字符?的主要内容,如果未能解决你的问题,请参考以下文章

Coalesce 函数如何处理数据类型

使用to_csv时如何处理pandas内存错误?

如何处理压缩文件夹中的 CSV 文件?

Scikit-Learn:如何处理不可排序的类型错误?

如何处理 bash 脚本读取的 CSV 文件中的逗号

如何处理 r 语言的 50GB 大 csv 文件?