代码之家  ›  专栏  ›  技术社区  ›  Richiedlon

使用python从sql数据库检索数据

  •  0
  • Richiedlon  · 技术社区  · 7 年前

    我是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
    

    出现以下错误

    索引器:元组索引超出范围

    1 回复  |  直到 7 年前
        1
  •  0
  •   Alan    7 年前

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

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

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

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

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