我尝试使用存储过程从MySQL
数据库获取一些数据并将其存储在dict中(如blair here所述):
def createProduct(self):
self.cursor.callproc('newProduct')
result = []
for recordset in self.cursor.stored_results():
for row in recordset:
result.append(dict(zip(recordset.column_names,row)))
print(result)
使用选项dictionary=True
创建光标。 print(result)
的输出为:
[{' manufacturer_id':0,' alarm_threshold':10,' users_id_tech':0,' name':' ; ITEM1&#39 ;, ' entities_id':0,'记事本':无,' locations_id':0,' groups_id_tech':0, ' consumableitemtypes_id':0,' id':1,'评论':'',' is_deleted':0 ,'参考':''}]
我尝试使用以下代码访问密钥name
(item1
)的值:
print(result['name'])
TypeError:list indices必须是整数,而不是str
和
print(result(name))
NameError:name' name'未定义
我认为来自blair的代码会创建一个dict,其值可以通过键访问(例如' name')?这是错的还是我做错了什么?
答案 0 :(得分:1)
查看您发布的词典列表,我认为您的打印方式存在问题。
我想这个
print(result['name'])
应该成为这个
print(result[0]['name'])
因为您正在尝试访问列表中的字典。 希望它有效。