小编Bri*_* D.的帖子

从Amazon Redshift UNLOAD创建RFC-4180友好的CSV文件的最佳方法是什么?

Amazon Redshift在使用时并没有真正的CSV选项UNLOAD(例如,类似于WITH CSVPostgreSQL COPY命令中提供的).

如果您使用该ESCAPE选项,Redshift 将使用双引号转义双引号\.例如,Excel不知道如何处理该斜杠.根据RFC-4180,它应该使用双引号

如果使用双引号括起字段,则必须通过在其前面添加另一个双引号来转义出现在字段内的双引号.例如:

"aaa","b""bb","ccc"

Sooo ...引用将打破出口,除非我们能找到一种方法让Redshift正确地逃脱它们.

鉴于以下数据:

# select * from unload_test;
                 test_field                 | test_field_number
 --------------------------------------------+-------------------
 "No," she said, "that's not how we do it." |                 5
 Hi! This is a test, yo.                    |                 5
Run Code Online (Sandbox Code Playgroud)
  • 如果我们使用ESCAPE但不是ADDQUOTES,Excel等人继续打破所有逗号上的列,包括"转义"的(\,).
  • 如果我们同时使用两者ESCAPE,ADDQUOTES您将获得初始问题示例中的结果.
  • 如果我们使用ADDQUOTES但我们不使用ESCAPE那么它将打破数据中的双引号.
  • 当然,如果我们不使用任何一个,那么我们也会打破逗号和可能的引号.

有没有可用的解决方法,可以容纳数据中的引号和逗号?

csv amazon-redshift

6
推荐指数
1
解决办法
309
查看次数

标签 统计

amazon-redshift ×1

csv ×1