2

我正在尝试将数据从 postgresq 导出到 CSV 文件,但是当我在数据库中的文本中有换行符时,导出的数据将在几行上断开,这使得读取 CSV 文件变得更加困难,并不是说大多数应用程序都会无法正确加载它。

这是我现在导出数据的方式:

 PRESQL="\pset format unaligned
 \pset fieldsep \",\"
 \pset footer off
 \o 'out.csv'
 "
 cat <(echo $PRESQL) $QUERYFILE | psql …

到目前为止,一切都很好,除非您在文本字段中有换行符。有什么技巧可以让我生成一个非常简单的解析 CSV 文件(每行一条记录)?

4

2 回答 2

2

认为可以强制 CSV 每行一行是错误的。RFC 明确规定换行符用双引号引起来。

于 2013-08-31T07:45:11.557 回答
1

您可以尝试 replace() 或 regexp_replace() 函数。

以下 SO 问题的答案应该给您一个想法:如何在 Postgresql 中删除回车符和换行符?

于 2013-08-30T14:53:34.637 回答