【问题标题】:Retrieve data from sql database using python使用python从sql数据库中检索数据
【发布时间】:2018-04-22 09:10:53
【问题描述】:

我是 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: 元组索引超出范围

【问题讨论】:

    标签: python sql python-2.7 data-retrieval


    【解决方案1】:

    您需要缩进print a 语句以使其成为循环的一部分。 Python 对缩进非常敏感。在其他语言中,您使用大括号或 BEGIN END 块,但在 python 中,您使用缩进。

    row[0], row[1] 内容指的是检索到的行中的元素,而不是不同的行。

    缩进打印行,它将打印每条记录的第一个返回字段 Path。

    元组索引超出范围,因为只返回一个字段(元素零)。

    您当前的代码将遍历返回的每一行并依次为每一行设置 a,但只会在 a 退出循环后打印最后一个值。

    【讨论】:

      猜你喜欢
      • 2019-01-20
      • 1970-01-01
      • 1970-01-01
      • 2016-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多