使用 python 从 sql 数据库中检索数据
Retrieve data from sql database using python
我是 python 和 SQL 的新手。
我的数据库包含一个存储图像路径的字段。
我想将每个路径分配给 python 中的一个变量。
我只能存储第一行的路径。
这是我的代码
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
但是当我尝试按照包括所有其他相关文本的方式时
for row in data :
a= row[0]
b = row[1]
c = row[2]
print a
出现以下错误
IndexError: tuple index out of range
您需要缩进 print a
语句以使其成为循环的一部分。 Python 对缩进非常敏感。在其他语言中,您使用大括号或 BEGIN
END
块,但在 python 中您使用缩进。
row[0], row[1]
指的是检索到的行中的元素,而不是不同的行。
缩进打印行,它将打印每条记录的第一个返回字段 Path。
元组索引超出范围,因为只返回一个字段(元素零)。
您当前的代码将遍历返回的每一行并依次为每一行设置 a,但只会在循环结束后打印 a 的最后一个值。
我是 python 和 SQL 的新手。 我的数据库包含一个存储图像路径的字段。 我想将每个路径分配给 python 中的一个变量。 我只能存储第一行的路径。 这是我的代码
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
但是当我尝试按照包括所有其他相关文本的方式时
for row in data :
a= row[0]
b = row[1]
c = row[2]
print a
出现以下错误
IndexError: tuple index out of range
您需要缩进 print a
语句以使其成为循环的一部分。 Python 对缩进非常敏感。在其他语言中,您使用大括号或 BEGIN
END
块,但在 python 中您使用缩进。
row[0], row[1]
指的是检索到的行中的元素,而不是不同的行。
缩进打印行,它将打印每条记录的第一个返回字段 Path。
元组索引超出范围,因为只返回一个字段(元素零)。
您当前的代码将遍历返回的每一行并依次为每一行设置 a,但只会在循环结束后打印 a 的最后一个值。