Как преобразовать тип кортежа в int на python?

Я новичок pyhton. Я хочу преобразовать результат sqlcommand (тип кортежа) в тип int. Как я могу это сделать?

import MySQLdb

db = MySQLdb.connect("localhost","root","password","database")
cursor = db.cursor()
cursor.execute("SELECT timestamp FROM unixdb")
u_data = cursor.fetchall()

>>> print u_data
((1424794931452.0,),)

тип u_data-кортеж, и я хочу получить тип int u_data.

2 ответов


у вас есть кортеж внутри кортежа. Итак, вы хотите первый элемент внешнего кортежа, который является u_data[0]: внутренняя кортежа. И тогда вы хотите первый пункт этого, который является u_data[0][0]. Это float, поэтому, чтобы получить целое число, вы хотите обернуть все это в int() на:

int(u_data[0][0])

в случае, если ваш запрос дает доход более чем одна метка. Вы можете получить список меток, изменив код следующим образом:

...
u_data, _ = cursor.fetchall()
u_data = [int(_) for _ in udata]