首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在执行psql copy命令时保留换行符

如何在执行psql copy命令时保留换行符
EN

Stack Overflow用户
提问于 2018-06-13 19:41:03
回答 1查看 1K关注 0票数 1

我的csv文件(有3列)中有以下内容:

代码语言:javascript
运行
复制
141413,"\"'/x=/></script></title><x><x/","Mountain View, CA\"'/x=/></script></title><x><x/"

148443,"CLICK LINK BELOW TO ENTER^^^^^^^^^^^^^^","model\
\
xxx lipsum as it is\
\
100 sometimes unknown\
\
travel evening market\
"

当我使用下面的命令在mysql中导入上面提到的csv时,它将反斜杠()视为新行;这是预期的行为。

代码语言:javascript
运行
复制
LOAD DATA INFILE '1.csv' INTO TABLE users FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n';

MYSQL Output

但是当我尝试使用copy命令导入psql时,它将\视为一个普通字符。

代码语言:javascript
运行
复制
copy users from '1.csv' WITH (FORMAT csv, DELIMITER ',', ENCODING 'utf8', NULL "\N", QUOTE E'\"', ESCAPE '\');

postgres Output

EN

回答 1

Stack Overflow用户

发布于 2018-06-13 20:35:25

在导入CSV文件之前尝试解析这些\,例如使用perl -pesed以及来自psqlSTDIN

代码语言:javascript
运行
复制
$ cat 1.csv | perl -pe 's/\\\n/\n/g' | psql testdb -c "COPY users FROM STDIN WITH (FORMAT csv, DELIMITER ',', ENCODING 'utf8', NULL "\N", QUOTE E'\"', ESCAPE '\');"

以下是导入后的外观:

代码语言:javascript
运行
复制
testdb=# select * from users;
   id   |                 company                 |                    location                     
--------+-----------------------------------------+-------------------------------------------------
 141413 | "'/x=/></script></title><x><x/          | Mountain View, CA"'/x=/></script></title><x><x/
 148443 | CLICK LINK BELOW TO ENTER^^^^^^^^^^^^^^ | model                                          +
        |                                         |                                                +
        |                                         | xxx lipsum as it is                            +
        |                                         |                                                +
        |                                         | 100 sometimes unknown                          +
        |                                         |                                                +
        |                                         | travel evening market                          +
        |                                         | 
(2 Zeilen)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50836334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档