Postgres中未终止的CSV引用字段

Ale*_* S. 5 csv postgresql copy

我正在尝试使用copy命令将一些数据插入到我的表中:

copy otype_cstore from '/tmp/otype_fdw.csv' delimiter ';' quote '"' csv;

我有这个答案:

ERROR: unterminated CSV quoted field

我的CSV文件中有一行我遇到了问题:

533696;PoG;-251658240;from id GSW C";

这是双引号的唯一一行,我无法将其删除,所以你对我有什么建议吗?

先感谢您

Dan*_*_ds 9

如果你的csv中有这样的行:

533696;PoG;-251658240;from id GSW C";
Run Code Online (Sandbox Code Playgroud)

这实际上意味着/显示字段没有引用,只要字段内没有分隔符,这仍然是完全有效的csv.

在这种情况下,应该告诉解析器不引用字段.

因此,而不是使用quote '"'(这实际上是告诉分析器等领域引用以及为什么你的错误),你应该使用类似quote 'none',或离开报价参数了(我不知道Postgres的,所以我不能给你这样做的确切选择).

好的,我快速查找了参数.看起来似乎没有选择引用报价.剩下的唯一选择是提供从未在数据中使用的引用字符.

quote E'\b'(退格)似乎工作正常.