postgresql - Postgres 中未终止的 CSV 引用字段

标签 postgresql csv copy

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

从 '/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/

相关文章:

Java - 使用 Apache.commons.csv 编写 CSV 文件

javascript - 代码运行速度太慢

objective-c - 将特定文件从一个路径复制到另一个路径

ruby-on-rails - Rails Postgres 过滤 jsonb 数组中的 jsonb 对象

python - "Conversion failed when converting date"插入 CSV 数据时

sql - 查看增量日期

python - 读取带有井号的文本文件时出现问题

matlab - 如何在 Ubuntu 上重新映射 MATLAB 中的复制粘贴键盘快捷键?

arrays - 绕过字符串数组作为参数并在 PostgreSQL 中使用动态查询

postgresql - postgres (8.3),在函数中使用查询结果