【问题标题】:psycopg2 - TypeError: 'int' object is not subscriptablepsycopg2 - TypeError:'int'对象不可下标
【发布时间】:2017-11-10 10:16:24
【问题描述】:

我正在使用 psycopg2 执行 postgres 查询,存储在函数 columnsearch() 中。我的目标是能够通过在 return 语句中使用列名来查看每个字段中的数据。我收到错误消息:

TypeError: 'int' object is not subscriptable

有谁知道我该如何解决这个问题?

def columnsearch():
     con = psycopg2.connect(connectstring)
     cur = con.cursor(cursor_factory=e.DictCursor)
     cur.execute("SELECT * FROM radio_archive_ind.radio_archive_ind WHERE tape_number = 'TP00001'")
     rows = cur.fetchone()
     for r in rows:
             return r["tape_number"]

print columnsearch()

【问题讨论】:

    标签: database postgresql python-3.x psycopg2


    【解决方案1】:

    请注意 .fetchone() 返回 a single sequence 所以你可以这样做:

    def columnsearch():
         con = psycopg2.connect(connectstring)
         cur = con.cursor(cursor_factory=e.DictCursor)
         cur.execute("""SELECT * 
                          FROM radio_archive_ind.radio_archive_ind 
                         WHERE tape_number = 'TP00001'""")
         row = cur.fetchone()
         return row["tape_number"]
    

    【讨论】:

      猜你喜欢
      • 2017-07-15
      • 2012-02-21
      • 2018-08-07
      • 2023-04-02
      • 2023-03-20
      • 2015-07-31
      • 1970-01-01
      相关资源
      最近更新 更多