我是python和SQL的新手。 我的数据库包含一个存储图像路径的字段。 我想将每个路径分配给python中的变量。 我只能存储第一行的路径。 这是我的代码
Product Module Name
但是,当我尝试按照包含所有其他相关文字的方式时
import pymysql
from arcpy import env
env.workspace = "D:/year 4 semester 1/Python/Data/"
conn= pymysql.connect(host='localhost',user='root',password='',db='research')
cursor = conn.cursor ()
cursor.execute ("select Path from sourcedata")
data = cursor.fetchmany()
for row in data :
a= row[0]
print a
出现以下错误
IndexError:元组索引超出范围
答案 0 :(得分:0)
您需要缩进print a
语句以使其成为循环的一部分。 Python对缩进非常敏感。在其他语言中,您使用大括号或BEGIN
END
块,但在python中使用缩进。
row[0], row[1]
内容是指检索到的行中的元素,而不是不同的行。
缩进打印行,它将为每条记录打印第一个返回的字段Path。
元组索引超出范围,因为只返回了一个字段(元素为零)。
您当前的代码将遍历返回的每一行,并依次设置为每一行,但只会在循环退出后打印最后一个值。