pymysql - python3.5操作数据库中fetchall的问题
ringa_lee
ringa_lee 2017-04-18 09:43:49
0
2
422

import pymysql.cursors
import networkx as nx

Connect to the database

connection = pymysql.connect(host='localhost',

port=3306, user='root', password='', db='shortest', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)

执行sql语句

try:

cursor = connection.cursor() # 执行sql语句,进行查询 sql = 'SELECT author1,author2,year FROM shortest WHERE id < 200' cursor.execute(sql) # 获取查询结果 result = cursor.fetchall() for row in result: author1 = row[1] author2 = row[2] year = row[3] # 打印结果 print "auther1=%s,author2=%s,year=%s" % \ (myauther1, myauther2, myyear) # 没有设置默认自动提交,需要主动提交,以保存所执行的语句 connection.commit()

finally:

connection.close();

这个代码我感觉没有问题,但是编译器却报错!!!
Traceback (most recent call last):
File "E:/Python Work/beta1/test.py", line 21, in

author1 = row[1]

KeyError: 1

希望高手可以解释指点一下,谢谢啦!

ringa_lee
ringa_lee

ringa_lee

reply all (2)
迷茫

It should be that result is a dictionary structure, which needs to be used in the form of dict['Name'] in python. Please refer to Baidu Dictionary for details.

    迷茫

    Try printing out the result first

      Latest Downloads
      More>
      Web Effects
      Website Source Code
      Website Materials
      Front End Template
      About us Disclaimer Sitemap
      php.cn:Public welfare online PHP training,Help PHP learners grow quickly!