如何使用mongoimport将包含双引号的数据导入mongodb?

时间:2015-07-22 20:57:30

标签: mongodb csv mongoimport

我使用mongoimport导入csv文件。 csv文件包含第二行嵌入双引号的文本。

"id","text"
"1","This is text"
"2","\"This is quoted text\""

这应该导入为第二行的两行,包括作为文本一部分的开头和结尾引号。然而,mongoimport响应:

c:\mongoimport -d testdb -c testtb --headerline --type csv --drop --file c:/temp1.csv
connected to: localhost
dropping: testdb.testtb
Failed: read error on entry #2: line 3, column 6: extraneous " in field
   imported 0 documents    error "read error: bare " in non-quoted field imported 0 documents.

如何在引用字段中导入包含双引号的csv数据?还有另一种逃避方法吗?

我的环境是基于Windows的。

1 个答案:

答案 0 :(得分:5)

在这里,Mongoimport文档中有一个参考 https://docs.mongodb.org/v3.0/reference/program/mongoimport/#cmdoption--type

  

csv解析器接受符合RFC RFC 4180的数据   结果,反斜杠不是有效的转义字符。如果你使用   双引号括起CSV数据中的字段,您必须转义   内部双引号通过预先加上另一个双引号。

所以要明确一点:不要使用反斜杠转义双引号,而是需要使用另一个双引号转义双引号,即因此需要有两个双引号。