如何从 pyodbc fetch 获取整数?

how to get intergers from pyodbc's fetch?

我正在尝试使用 update 语句,但我的数据库不接受 (int, ) 仅 int。

import pyodbc
connect_data = (
    r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};
    r'DBQ=C:\filename.accdb;'
    )
cnxn = pyodbc.connect(connect_data)
crsr = cnxn.cursor()
crsr.execute('select ID from WeatherAnalisis')
weathertable = crsr.fetchmany(5)
for rowcount in weathertable:
    timeCET = timeCET + timeincrement
    print (rowcount)
    sql = "UPDATE WeatherAnalisis SET Time_UTC = ? WHERE ID = ?"
    crsr.execute(sql, timeCET, rowcount)
    cnxn.commit()
>>>>
(1, )
crsr.execute(sql, timeCET, rowcount)
pyodbc.Error: ('HY004', '[HY004] [Microsoft][ODBC Microsoft Access Driver]Invalid SQL data type  (67) (SQLBindParameter)')

这似乎是因为 rowcount(int, ) 格式而不是 int 现在我的问题是:如何让它只给我整数?

我自己想出了一些办法

rowiercount = str(rowcount)
rowiercount.replace("(", "").replace(")", "").replace(" ", "").replace(",", ""))

它很可能不是有效的,但它似乎可以完成工作 我还不会将此标记为已解决,因为如果其他人遇到此问题,可能有更好的方法来解决此问题。

.fetchmamy() returns pyodbc Row 对象列表。 Row 对象的行为类似于元组,因此如果它只包含一列,您可以将其提取为标量值,如下所示:

for row in weathertable:
    rowcount = row[0]