5

我使用(所有)此处发布的指令从 postgresql 数据库中导出了一些数据:将 PL/pgSQL 输出从 PostgreSQL 保存到 CSV 文件

但是一些导出的字段包含换行符(换行符),所以我得到了一个 CSV 文件,例如:

header1;header2;header3
foobar;some value;other value
just another value;f*** value;value with
newline
nextvalue;nextvalue2;nextvalue3

如何转义(或忽略)这些换行符?

4

1 回答 1

5

如果包含换行符的字段用双引号括起来,则 CSV 支持换行符。

所以如果你在文件中间有这个:

只是另一个值;f*** 值;“值与
新队”

它将被视为 1 行数据分布在 3 个字段的 2 行上并且可以正常工作。

另一方面,如果没有双引号,它是一个无效的 CSV 文件(当它宣传 3 个字段时)。

尽管 CSV 格式没有正式规范,但您可以查看RFC 4180以了解通常适用的规则。

于 2013-08-29T14:22:31.387 回答