我有大约500个JSON文件夹。需要上传所有的本地数据库。我尝试使用mongocompass,但Compass一次只能上传一个文件。在python中,我试图编写一些简单的代码来遍历文件夹并逐个上传,但是遇到了一些问题。首先,JSON文件不是逗号分隔的,而是行分隔的。所以文件看起来像:
{ some JSON object }
{ some JSON object }
...
我编写了以下代码来遍历文件夹并将其上载:
^{pr2}$代码基本上是遍历一个文件夹,检查它是否是.json文件,然后将其插入数据库。这就是应该发生的事。但是,我得到一个错误:
TypeError: document must be an instance of dict, bson.son.SON, bson.raw_bson.RawBSONDocument, or a type that inherits from collections.MutableMapping
我似乎无法通过python上传它。我尝试了代码的多个变体,但是由于某些原因python不接受json文件。 这些文件的问题似乎是python只允许逗号分隔的JSON文件。 我怎样才能修复这个问题来上传所有的文件?在
你正在将文件名插入mongo。不是文件的内容。
假设在一个目录中有多个json文件,其中每个文件的每一行都包含一个json对象。。。
你需要浏览所有的文件,过滤它们,打开它们,逐行读它们,把每一行解析成一个dict,然后插入。如下所示:
我首先做了一个
chdir
,以避免将整个路径传递给open
相关问题 更多 >
编程相关推荐