3

我需要帮助!!我编写了一个 python 代码,它查询数据库并在 Linux shell 提示符中打印结果,代码如下:

#!/usr/bin/python

import MySQLdb
import sys
import config
import csv     

db = MySQLdb.connect(config.host,config.user,config.password,config.dbname)
cursor=db.cursor()
print "Connected to the Mysql database"
cursor.execute("use " + config.dbname)

cursor.execute('SELECT DISTINCT LEARNER FROM EMS_data LIMIT 5')
result= cursor.fetchall()
print result

db.commit()
cursor.close()

这就是我得到的:

(("'Fang ",), ("'Nikhil '",), ("'Gavin '",), ("'Vamsi'",), ("'Shah'",))

如何删除这些大括号..?

4

2 回答 2

6

cursor.fetchall() 返回的结果是一个包含获取数据的元组。每个元组代表一个获取的行。

因为您正在打印一个元组的元组,所以您会看到大括号。为了以首选格式显示数据,您必须遍历结果并相应地打印每一行。

下面的示例将在新行上打印每一行,并用竖线分隔列:

for row in result:
    print " | ".join(row)
于 2013-06-10T11:30:38.413 回答
1

cursor.fetchall() 返回的结果是一个包含获取数据的元组。每个元组代表一个获取的行。

下面的第一行代码将一个一个地获取元组。
第二行将打印未采用的元组本身,而是打印其中的第一个元素(不带逗号和括号)

for row in result:
    print(row[0])
于 2018-11-29T14:24:50.583 回答