Maison  >  Questions et réponses  >  le corps du texte

Comment puis-je afficher une valeur sans utiliser de crochets, de virgules ou de crochets ?

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粉726133917P粉726133917293 Il y a quelques jours455

répondre à tous(2)je répondrai

  • P粉156532706

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

    répondre
    0
  • P粉883973481

    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)

    répondre
    0
  • Annulerrépondre