2

我对 pymongo 很陌生。在下面的代码中,

db = MySQLdb.connect(DB_HOST,DB_USR,DB_PWD,DB_NAME)
cursor = db.cursor()
query = "SELECT * FROM %s WHERE userid = \"%s\"" % (table, userID) 
cursor.execute(query)
colNames = [i[0] for i in cursor.description]
rows = cursor.fetchall()
objects_list = []
# The below logic makes JSON objet based on fetch MySQL rows.
for row in rows:
    d = collections.OrderedDict()
    index = 0
    for col in colNames:
        d[col] = row[index]
        index = index + 1
    objects_list.append(d)
return objects_list

我得到了错误,

trngl_advertise_perfm
trngl_advertise_activity
trngl_user_fblike
Traceback (most recent call last):
File "IngestDataToMongo.py", line 83, in <module>
userData = getData(user[0], TABLES[i]) # Get data of each user.
File "IngestDataToMongo.py", line 51, in getData
d = collections.OrderedDict()
AttributeError: 'module' object has no attribute 'OrderedDict'

请告诉我,如何消除错误。

4

1 回答 1

11

您使用的是 Python 2.6 或更早版本。OrderedDict直到 2.7 版才被添加到 Python 中。

文档中:

2.7 版中的新功能。

您可以改用此反向端口(也可从PyPI获得),它将适用于 python 2.4 及更高版本,或者安装 python 2.7 并使用该版本运行您的脚本。

于 2012-11-27T14:41:03.233 回答