web-dev-qa-db-fra.com

Comment convertir le type Tuple en int sur python?

Je suis débutant pyhton. Je veux convertir le résultat de sqlcommand (type Tuple) en type int. Comment puis je faire ça?

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,),)

le type u_data est Tuple et je souhaite obtenir le type int de u_data.

6
Jueun Kim

Ce que vous avez est un tuple à l'intérieur d'un tuple. Donc, vous voulez le premier élément du tuple externe, qui est u_data[0]: le tuple le plus intérieur. Et puis vous voulez le premier élément de celui-ci, qui est u_data[0][0]. C'est un float, donc pour obtenir un entier, vous voulez envelopper le tout dans int(), ce qui nous amène à:

int(u_data[0][0])
12
kindall

Dans le cas où votre requête renvoie plusieurs horodatages. Vous pouvez obtenir une liste d'horodatages en modifiant votre code comme suit:

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