2017-10-10 3 views
0

Finalement, je voudrais exporter les hôtes vers une liste.Interroger les résultats de mysql DB sur une liste

try: 
    cnx = mysql.connector.connect(user='root', password='passwd', 
database='some_db') 
    cursor = cnx.cursor() 
except mysql.connector.Error as err: 
    print("Something went wrong: {}".format(err)) 

retrieveQuery = ("SELECT host_name,product from server") 
cursor.execute(retrieveQuery) 
for host,prod in cursor: 
print ("{},{}".format(host,prod)) 

Résultat semble bon: [host1, PowerEdge]

retrieveQuery = ("SELECT host_name from server") 
cursor.execute(retrieveQuery) 
for host in cursor: 
print ("{}".format(host)) 

Résultat: (u'host1' ,)

Pourquoi suis-je vois (u »,) avec le même code mais quand une seule colonne est sélectionnée? Toute aide est très appréciée

+0

Vous vous demandez pourquoi il y a un 'u' avant la chaîne ou pourquoi il y a une virgule (ou les deux)? – Unni

Répondre

0

Votre cursor résultat de la ligne est toujours le type tuple, essayez:

for row in cursor: 
    print ("{}".format(row.host_name)) 

ou

for host, in cursor: 
    print ("{}".format(host))