【问题标题】:Unable to import .csv into mongodb using mongoimport无法使用 mongoimport 将 .csv 导入 mongodb
【发布时间】:2015-04-12 04:34:14
【问题描述】:

我正在做一些测试,看看如何将一个简单的 .csv 文件导入 mongodb,但 mongodb 不断返回“0 个导入的对象。这是我的步骤:

1) 在 mongodb/bin 中创建一个名为“a4.csv”的简单 .csv 文件,包含 4 列和 6 条记录:

Model       Make    Price   Mileage
audi        a5      500     500
mercedes    cla     333     434
ford        fusion  555     500
mazda       miata   222     434
nissan      370z    111     500
porsche     cayenne 333     434

2) 运行导入命令:

./mongoimport -d test -c cars --type csv --file a4.csv --headerline

输出:

tins-MBP:bin tinzors$ ./mongoimport -d test -c cars --type csv --file a4.csv --headerline
connected to: 127.0.0.1
2015-02-11T12:23:11.656-0500 imported 0 objects

没有任何错误。有人能帮我吗?谢谢!

【问题讨论】:

  • 仅供参考,您可以add mongo binaries to $PATHexport PATH=<mongodb-install-directory>/bin:$PATH,然后您可以从任何地方运行 mongoimport 命令。

标签: mongodb csv import mongoimport


【解决方案1】:

我认为问题在于csv 文件格式

a4.csv 文件放在 mongodb bin 文件夹中

Model,Make,Price,Mileage
audi,a5,500,500
mercedes,cla,333,434
ford,fusion,555,500
mazda,miata,222,434
nissan,370z,111,500
porsche,cayenne,333,434

然后

mongoimport -d test -c cars --type csv --file a4.csv --headerline

输出

D:\MongoDB\MongoDB 2.6 Standard\bin>mongoimport -d test -c cars --type csv --file a4.csv --headerline connected to: 127.0.0.1 2015-02-11T23:15:20.631+0530 imported 6 objects

> db.cars.find()
{ "_id" : ObjectId("54db93a60259aeb2c15b851d"), "Model" : "audi", "Make" : "a5", "Price" : 500, "Mileage" : 500 }
{ "_id" : ObjectId("54db93a60259aeb2c15b851e"), "Model" : "mercedes", "Make" : "cla", "Price" : 333, "Mileage" : 434 }
{ "_id" : ObjectId("54db93a60259aeb2c15b851f"), "Model" : "ford", "Make" : "fusion", "Price" : 555, "Mileage" : 500 }
{ "_id" : ObjectId("54db93a60259aeb2c15b8520"), "Model" : "mazda", "Make" : "miata", "Price" : 222, "Mileage" : 434 }
{ "_id" : ObjectId("54db93a60259aeb2c15b8521"), "Model" : "nissan", "Make" : "370z", "Price" : 111, "Mileage" : 500 }
{ "_id" : ObjectId("54db93a60259aeb2c15b8522"), "Model" : "porsche", "Make" : "cayenne", "Price" : 333, "Mileage" : 434 }

希望对你有帮助。

【讨论】:

  • 感谢您的回复-您能向我解释一下您的方法和我的方法有什么区别吗?或者我应该以某种方式修复 .csv 文件?谢谢。
  • 嗨,修复csv文件并检查一次。谢谢
  • 是否可以将 csv 中的所有记录仅导入 1 个对象而不是每条记录 1 个对象?
  • 当我尝试做同样的事情时 mongoimport -d test -c cars --type csv --file cars.csv 它给了我一个错误说: [thread1] SyntaxError: missing ;声明之前@(shell):1:15
【解决方案2】:

所以我认为问题的一部分是我在 Excel 中创建了文件,然后将其保存为 .csv 文件,该文件可能以某种方式损坏了文件。所以我在文本编辑器(Sublime)中打开了原始的 .csv 文件,将数据复制到一个全新的 Sublime 文档中,然后将其重新保存为 .csv,它就可以工作了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-11
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 2018-03-26
    • 1970-01-01
    • 2015-09-23
    相关资源
    最近更新 更多