0

我无法将结果中的数据读取为正确的类型,例如:

result = engine.execute("SELECT id FROM table WHERE SetId = 5).fetchall()

MySQL DB 中的列id是 Long 类型

print result
[(1L,), (2L,), (3L,), (4L,), (5L,), (6L,)]


for row in result:
   print row

(1L,) etc..

print type(row)
 <class 'sqlalchemy.engine.base.RowProxy'>

将这些值读取为正确类型 Long 的最佳方法是什么?我真的不知道如何正确读取 RowProxy 类中的值

4

1 回答 1

2

SQLAlchemyRowProxy实例不是字符串,而是打印时具有字符串表示的对象。

它们的作用类似于列表和映射;如果您只需要长值,只需遍历该行:

for row in result:
    for value in row:
        print value

或通过索引处理行中的每一列:

for row in result:
    print row[0]

您的查询要求 column id,因此它现在是该行上的一个键:

for row in result:
    print row['id']
于 2012-09-18T13:34:35.147 回答