Я все больше запутываюсь в питоне.когда я пробую одну строку, это работает, но когда я работаю над целыми строками одного столбца, это показывает ошибку.Я хочу использовать функцию convert_hex_to_int для каждой строки в столбце, но она показывает мне ошибку
Traceback (последний вызов был последним):
Файл "C: / Users / ranic /.PyCharmCE2018.3 / config / scratches / scratch_2.py ", строка 59, в result_print = (convert_hex_to_int (hex_int, 4))
Файл" C: /Users/r/.PyCharmCE2018.3/config/scratches/scratch_2.py ", строка 32, в преобразовании t_hex_to_int splitted = [hex (n) [2:] [i: i + интервал] для i в диапазоне (0, len (hex (n) [2:]), интервал)] TypeError: объект 'str' не может быть интерпретирован как целое число
вот мой код:
cnxn = pyodbc.connect(conn_str)
cnxn.add_output_converter(pyodbc.SQL_VARBINARY, hexToString)
cursor = cnxn.cursor()
def convert_hex_to_int(n:int, interval:int):
splitted = [hex(n)[2:][i:i + interval] for i in range(0, len(hex(n)[2:]), interval)]
return [int(hex(unpack('<H', pack('>H', int(i, 16)))[0]), 16) for i in splitted]
try:
cursor.execute(query)
row=cursor.fetchval()
row_list=[]
while row is not None:
row=cursor.fetchval()
hex_int = int(row, 16)
result_print = (convert_hex_to_int(hex_int, 4))
result_float = [float("{0:.2f}".format((i) * 10 ** -2)) for i in result_print]
row_list.append(result_float)
print(row_list)
Пожалуйста, оставьте любой комментарий, если я что-то пропустил, заранее спасибо.Когда я отлаживал его, он показывает что-то вроде этого: Отладочный экран
* извините, мне пришлось прикрепить изображение, так как оно является отладочным экраном, и я не могу скопировать код, и это должно былобыть в ссылке, потому что я новый пользователь ** edit: я думаю, что это связано с использованием .fetchval дважды, но я не слишком уверен