我正在尝试使用复制命令将一些数据插入到我的表中:
从 '/tmp/otype_fdw.csv' 分隔符 ';' 复制 otype_cstore引用 '"' csv;
我有这个答案:
错误:未终止的 CSV 引用字段
我的 CSV 文件中有一行出现问题:
533696;PoG;-251658240;来自 id GSW C";
这是唯一一行双引号,我不能删除它,所以你有什么建议吗?
提前谢谢你
最佳答案
如果您的 csv 中有这样的行:
533696;PoG;-251658240;from id GSW C";
这实际上意味着/显示字段未被引用,只要字段内没有分隔符,它仍然是完全有效的 csv。
在这种情况下,解析器应该被告知字段没有被引用。
因此,与其使用 quote '"'
(这实际上是告诉解析器字段被引用以及为什么会出现错误),您应该使用类似quote 'none'
,或者不使用 quote 参数(我不了解 Postgres,所以我无法为您提供执行此操作的确切选项)。
好的,我做了一个quick lookup的参数。看起来确实没有关闭引用的选项。剩下的唯一选择是提供一个从未在数据中使用的引号字符。
quote E'\b'
(退格键)seems to work ok .
关于postgresql - Postgres 中未终止的 CSV 引用字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44108286/