我正在使用 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 的。
最佳答案
在 Mongoimport 文档中有一个引用,在这里 https://docs.mongodb.org/v3.0/reference/program/mongoimport/#cmdoption--type
The csv parser accepts that data that complies with RFC RFC 4180. As a result, backslashes are not a valid escape character. If you use double-quotes to enclose fields in the CSV data, you must escape internal double-quote marks by prepending another double-quote.
所以为了清楚起见:不是用反斜杠转义双引号,而是需要用另一个双引号转义双引号,即因此你需要两个双引号。
关于mongodb - 如何使用mongoimport将包含双引号的数据导入到mongodb中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31573851/