【问题标题】:How to import data containing double quotes into mongodb using mongoimport?如何使用mongoimport将包含双引号的数据导入mongodb?
【发布时间】:2015-07-22 20:57:29
【问题描述】:

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

"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 的。

【问题讨论】:

    标签: mongodb csv mongoimport


    【解决方案1】:

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

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

    所以为了清楚起见:你需要用另一个双引号来转义一个双引号,而不是用反斜杠转义双引号,也就是说,你需要有两个双引号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-11
      • 2015-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多