读取 python 光标中的一列打印很奇怪?

Reading a column in python cursor prints weird?

我有两行数据。我正在尝试 return 两行:

 sqlReadtObservationId = 'select ObservationId from [dbo].[tObservationRawDataObservations] where ' \
                                            'ObservationRawDataId = ' + str(ObservationRawDataId)
    for (ObservationId) in read_tObservationId_cursor:
         print  str(ObservationId)

以上打印 (22641472, ) 我希望它只打印 22641472

为什么会出现这种情况?我的其他 sql 查询 return 结果很好。

我在您的代码中没有看到您在执行 sql 查询后获取数据(也许您没有粘贴该部分)。像这样:

sql = 'SELECT* from table where table.id = ' + str(someId)

cursor = cursor.execute(sql)

data = cursor.fetchall()

for row in data:
   print(someID)

'fetching' return每行数据一个元组。因此,例如,当使用 fetchone() 时,它只会 return 一个元组,您可以通过迭代到达 a 列。

当使用 fetchall()fetchmany() 时,它将 return 一个元组列表。