from pymongo.objectid import ObjectId ImportError: No module named objectid
from pymongo.objectid import ObjectId ImportError: No module named objectid
我制作了一个 python 代码,用于从名为 Tweets 的 Mongo 集合中获取推文。我不想只获取对象文本并添加一个名为 Sentiment 的附加对象。
当我遍历推文并将 json 对象解析为字符串时,出现错误:
from pymongo.objectid import ObjectId ImportError: No module named objectid
因此我使用下面的代码
import pymongo
import nltk
import json
from json import JSONEncoder
from pymongo import MongoClient
from pymongo.objectid import ObjectId
#JSON Encoder
class MongoEncoder(JSONEncoder):
def default(self, obj, **kwargs):
if isinstance(obj, ObjectId):
return str(obj)
else:
return JSONEncoder.default(obj, **kwargs)
#Mongo Settings
client = MongoClient()
db = client.Sentiment
Tweets = db.Tweet
TweetTraining = db.TweetTraining
#GET TEXT_TAG FROM TWEET
for tweet in Tweets.find({"lang":"nl"},{"text"}):
print json.dumps(tweet, cls=MongoEncoder)
希望您能帮帮我。非常感谢
埃里克
您文件顶部的其中一个导入不正确。 ObjectId
应该从 bson.objectid
而不是 pymongo.objectid
加载
from bson.objectid import ObjectId
这里是 link pymongo 文档,用于通过 ObjectId
查询
我制作了一个 python 代码,用于从名为 Tweets 的 Mongo 集合中获取推文。我不想只获取对象文本并添加一个名为 Sentiment 的附加对象。
当我遍历推文并将 json 对象解析为字符串时,出现错误:
from pymongo.objectid import ObjectId ImportError: No module named objectid
因此我使用下面的代码
import pymongo
import nltk
import json
from json import JSONEncoder
from pymongo import MongoClient
from pymongo.objectid import ObjectId
#JSON Encoder
class MongoEncoder(JSONEncoder):
def default(self, obj, **kwargs):
if isinstance(obj, ObjectId):
return str(obj)
else:
return JSONEncoder.default(obj, **kwargs)
#Mongo Settings
client = MongoClient()
db = client.Sentiment
Tweets = db.Tweet
TweetTraining = db.TweetTraining
#GET TEXT_TAG FROM TWEET
for tweet in Tweets.find({"lang":"nl"},{"text"}):
print json.dumps(tweet, cls=MongoEncoder)
希望您能帮帮我。非常感谢
埃里克
您文件顶部的其中一个导入不正确。 ObjectId
应该从 bson.objectid
而不是 pymongo.objectid
from bson.objectid import ObjectId
这里是 link pymongo 文档,用于通过 ObjectId
查询