TypeError - 字符串索引必须是整数,而不是str

时间:2015-08-03 17:57:24

标签: python typeerror

当我打印从 MongoDB

中检索到的数据时,我得到了以下输出
[{"username": "ashish.mishra", "password": "hxMNwFOa", "frequency": "Daily", "name": "Ashish Mishra", "email": "ashish@mail.com"}]

以下是我检索它的方式:

user = db.UserData.find()
user = dumps(user)
print user //this is the printed version above

我想访问每个密钥。我试过了:

print user['username']

print user[0]['username']

它给了我错误:

TypeError: string indices must be integers, not str

我知道这些线程有很多,但到目前为止我还没有成功。知道怎么做吗?

2 个答案:

答案 0 :(得分:3)

首先必须将字符串转换为字典,如下所示:

import json

# initialize user here
user_dict = json.loads(user)
print user_dict[0]['username']

答案 1 :(得分:-3)

列表对象中有一个字典对象。

这里的问题是Python假设您想要使用提供的索引号从列表中检索项目。

从users变量中删除括号,您的字典将成为字典。

users = {"username": "ashish.mishra", "password": "hxMNwFOa", "frequency": "Daily", "name": "Ashish Mishra", "email": "ashish@mail.com"}
print user['username']