我无法将结果中的数据读入正确的类型,例如:
result = engine.execute("SELECT id FROM table WHERE SetId = 5).fetchall()
列 id 在MySQL DB中的类型为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类中的值
答案 0 :(得分:2)
SQLAlchemy RowProxy
instances不是字符串,而是打印时带字符串表示的对象。
它们就像列表和映射一样;如果您只需要长值,只需在行上循环:
for row in result:
for value in row:
print value
或通过它的索引来处理行中的每一列:
for row in result:
print row[0]
您的查询要求列id
,因此现在该行上有一个键:
for row in result:
print row['id']