我有一个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或空值,但它仍然出现。有没有人对此有过想法?
P.S。
我没有管理员权限,只能在此架构中制作/删除和规则表。
答案 0 :(得分:1)
您可以尝试以下方法之一:
将usr_wrk.car从... / Car.csv删除',' ESCAPE为'OFF'NULL为' CSV HEADER;
OR
将usr_wrk.car从... / Car.csv DELIMITER'复制',' ESCAPE as'\'NULL as'' CSV HEADER;
默认转义是CSV格式的双引号。关闭它或将其设置为默认的TEXT格式转义(反斜杠)可能会让你解决这个问题。您还可以从文件中删除CSV标头,并将其声明为带有逗号分隔符的TEXT文件,以避免必须指定ESCAPE字符。
您确定汽车名称周围没有特殊字符吗?特别考虑变音符号或重音符号会使数据多字节并触发该错误。
您可以尝试:头部Car.csv | oc -c |更多并查看文件中是否显示任何多字节字符(假设您使用的是Linux系统)。
如果可以,您可以尝试使用GPLOAD实用程序加载文件。您可以将数据文件的ENCODING指定为“LATIN1”,这可能会让您超过您所遇到的UTF错误。
希望这会有所帮助。 吉姆