我有一个csv文件,需要将其加载到Greenplum DB。我的代码如下所示:
CREATE TABLE usr_wrk.CAR(
brand varchar(255),
model varchar(255),
ID INTEGER
);
COPY usr_wrk.CAR FROM '...Car.csv' DELIMITER ',' CSV HEADER 但是我得到了这个错误:
[22025] ERROR: invalid Unicode escape: Unicode escapes must be full-length: \uXXXX or \UXXXXXXXX.例如,csv文件的行如下所示:
捷豹,XJ,1
或
雪铁龙,C4,91
我替换了所有非拉丁单词,没有NULL或空值,但它仍然出现。有人对此有什么想法吗?
附注:
我没有管理权限,只能在此模式中创建/删除和规则表。
发布于 2017-09-12 04:44:39
您可以尝试以下操作之一:
从.../Car.csv分隔符',‘转义为'OFF’NULL as '' CSV标头复制usr_wrk.car;
或
从.../Car.csv分隔符',‘转义为'\’NULL as '' CSV标头复制usr_wrk.car;
对于CSV格式,默认转义为双引号。将其关闭或将其设置为默认文本格式转义(反斜杠)可能会解决此问题。您还可以从文件中删除CSV标头,并将其声明为带有逗号分隔符的文本文件,以避免必须指定转义字符。
你确定车名周围没有特殊的字符吗?特别要考虑元音或重音,它们会使数据成为多字节并触发该错误。
你可以尝试这样做: head Car.csv | oc -c | more,看看你的文件中是否出现了多字节字符(假设你在Linux系统上)。
如果可以,您可以尝试使用GPLOAD实用程序加载该文件。您可以将数据文件的编码指定为'LATIN1‘,这可能会帮助您克服正在遇到的UTF错误。
希望这能有所帮助。吉姆
https://stackoverflow.com/questions/46158149
复制相似问题