Maison > Questions et réponses > le corps du texte
Je veux juste imprimer la valeur sans crochets, virgules ou parenthèses. J'utilise MySQL avec python et mysql.connector.
Lorsque j'exécute ce code, j'obtiens "('esrvgf',)". Mais je veux juste "esrvg".
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="root", password="password", database ="mydatabase" ) cursor = mydb.cursor() sql = "select nick from users where ipaddress = '192.168.1.4'" cursor.execute(sql) myresult = cursor.fetchall() for x in myresult: print(x)
P粉1565327062024-01-01 09:22:48
En utilisant .fetchall( ) D'après la documentation, vous ne retournerez pas un seul élément, même s'il n'y en a qu'un :
Pensez donc à utiliser :
for x in myresult: for y in x: print(x)
Ou si vous êtes sûr qu'il s'agit d'un seul élément :
for x in myresult: print(x[0])
P粉8839734812024-01-01 00:18:50
cursor.fetchall()
返回元组列表(请参阅此问题),而不是字符串。如果你尝试打印一个元组,Python 将添加括号,如果你尝试打印一个列表,Python 将添加括号。您所需要做的就是使用 x[0]
Imprimez le premier élément. Comme ça :
for x in myresult: print(x[0])
Vous pouvez également utiliser *
运算符将元组的每个元素作为参数传递给 print()
. Comme ça :
for x in myresult: print(*x)