我只想列印不帶任何括號、逗號或圓括號的值。我正在使用 MySQL 和 python 以及 mysql.connector。
當我運行此程式碼時,我得到“('esrvgf',)”。但我只想得到“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
透過使用 .fetchall( ) 根據文檔,即使只有一個元素,你也不會返回單一元素:
因此,請考慮使用:
for x in myresult: for y in x: print(x)
或者,如果您確定它是單一元素:
for x in myresult: print(x[0])
P粉8839734812024-01-01 00:18:50
cursor.fetchall()
傳回元組清單(請參閱此問題),而不是字串。如果你嘗試列印一個元組,Python 將添加括號,如果你嘗試列印一個列表,Python 將添加括號。您所需要做的就是使用 x[0]
列印第一個元素。像這樣:
for x in myresult: print(x[0])
或者,您可以使用 *
運算子將元組的每個元素作為參數傳遞給 print()
。像這樣:
for x in myresult: print(*x)