Я подключаюсь к базе данных mysql через соединитель mysql и запускаю простой запрос, чтобы вытащить список идентификаторов. Мне нужно перебрать этот список и передать их в другой код. По какой-то причине я получаю список кортежей. Это ожидаемое поведение? Если нет, что я делаю неправильно? Вот фрагмент моего кода:Python mysql connector возвращает tuple
import mysql.connector
conn = mysql.connector.connect(host='127.0.0.1', database='t', user='r', password='pwd')
cursor = conn.cursor()
query = ("select id from T where updated < '%s'" % (run_date))
cursor.execute(query)
for row in cursor:
print (row)
cursor.close()
Я получаю следующую обратно (от поля INT в г/б):
(Decimal('991837'),)
(Decimal('991838'),)
(Decimal('991839'),)
(Decimal('991871'),)
(Decimal('991879'),)
(Decimal('991899'),)
(Decimal('992051'),)
(Decimal('992299'),)
(Decimal('992309'),)
Не имеет отношения к исходному вопросу, который я задал, но как преобразовать (Десятичный ('992309')) в 992309? – epipko
@epipko Возьмите первый элемент кортежа ('[0]'), тогда у вас есть [Десятичный объект] (https://docs.python.org/2/library/decimal.html#decimal-objects), которые вы можете преобразовать в 'int', если вам нужно. – glibdud