Getting brackets while executing query into mysql database using python
Question: 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..?


Answer: 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)
    

