Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ';模块';对象没有属性';订购信息和通信技术';pymongo中的错误_Python_Mongodb_Collections_Runtime Error_Pymongo - Fatal编程技术网

Python ';模块';对象没有属性';订购信息和通信技术';pymongo中的错误

Python ';模块';对象没有属性';订购信息和通信技术';pymongo中的错误,python,mongodb,collections,runtime-error,pymongo,Python,Mongodb,Collections,Runtime Error,Pymongo,我对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.fetcha

我对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'
trngl\u广告性能
宣传活动
尝试用户
回溯(最近一次呼叫最后一次):
文件“IngestDataToMongo.py”,第83行,在
userData=getData(用户[0],表[i])#获取每个用户的数据。
getData中第51行的文件“IngestDataToMongo.py”
d=collections.OrderedDict()
AttributeError:“模块”对象没有属性“OrderedDict”

请告诉我如何删除错误。

您正在使用Python 2.6或更早版本
OrderedDict
直到2.7版才添加到Python中

从:

版本2.7中的新功能


您可以改为使用(也可以从中获得),它将在python 2.4及以上版本上工作,或者安装python 2.7并使用该版本运行脚本。

PyPI上还有一个
ordereddict
包,其中可能包含相同的代码。@MarkusInterwaditzer:实际上,它从PyPI页面链接到配方。谢谢,更新了答案。@MartijnPieters现在,问题是我无法安装python2.7,因为我在服务器上使用putty运行脚本,在服务器上我无法更改内容。那么,是否有任何文件或代码可以导入以使其正常工作,或者是否有任何选项可以在较旧的python版本中进行OrderdDict?@WhyandHow:是的,将backport作为模块安装在服务器上。脚本旁边的
orderedict.py
模块就足够了。然后,您可以执行
从OrderedICT导入OrderedICT
而不是从集合导入OrderedICT执行
从OrderedICT导入OrderedICT
@WhyandHow:将整个OrderedICT定义复制到脚本中,从中删除
。。导入OrderedDict
line。@在本栏中,我无法更改python版本,因为代码是在服务器上运行的脚本。那么,有没有什么像导入文件或其他东西这样的选项可以替代OrderedICT呢。