Postgresql:带有转义换行符的CSV导出

t77*_*777 5 csv postgresql export-to-csv

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

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

header1;header2;header3
foobar;some value;other value
just another value;f*** value;value with
newline
nextvalue;nextvalue2;nextvalue3
Run Code Online (Sandbox Code Playgroud)

我如何逃避(或忽略)theese换行符?

Dan*_*ité 5

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

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

just another value;f*** value;"value with
newline"

它将被视为1行数据分布在2行3个字段并且正常工作.

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

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