Join the Stack Overflow Community
Stack Overflow is a community of 6.7 million programmers, just like you, helping each other.
Join them; it only takes a minute:
Sign up

I need help!! I have written a python code which queries the database and prints the result in the Linux shell prompt here is the code :

#!/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()

This is what i get :

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

How to remove these braces..?

share|improve this question
    
You are returning a tuple of tuples; so use a loop to step through the tuple list and print each indiviual item. – Burhan Khalid Jun 10 '13 at 11:25
up vote 4 down vote accepted

The result returned by cursor.fetchall() is a tuple of tuples containing the fetched data. Each tuple represents a fetched row.

Because you are printing a tuple of tuples, you are seeing the braces. In order to display the data in a prefered format you'll have to iterate over the result and print each row accordingly.

The example below would print each row on a new line, and will separate the columns with a vertical bar:

for row in result:
    print " | ".join(row)
share|improve this answer
    
Hey thank you so much... it really helped – user2470026 Jun 10 '13 at 13:14

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.