在不同的列中打印DB变量

时间:2015-01-30 19:03:41

标签: python mysql sql database

我试图从数据库中用Python打印变量,以便它们在自己的列中打印一个变量。我有以下内容:

import os,MySQLdb

db = MySQLdb.connect(read_default_file="/etc/my.cnf",read_default_group="mysql",db="Cinderella")

cursor = db.cursor()

sql = "select * from DatasetStatus"

try:
    print '\n Mysql> ' + sql
    cursor.execute(sql)

    results = cursor.fetchall()
    for row in results:
        name = row[0]
        nused = row[1]
        ndownloads = row[2]
        incache = row[3]
        entrydate = row[4]
        size = row[5]

            print "%n|%u|%d|%c|%e|%s"%\
             (name|nused|ndownloads|incache|entrydate|size)
except:
    print " Error ($s): unable to fetch data."%(sql)

db.close()

存储在不同行中的六个值列表是我要在列中打印的值。有关如何处理此事的任何建议吗?

1 个答案:

答案 0 :(得分:0)

如果您只需要打印print '{}|{}|{}|{}|{}|{}'.format(*row),就可以执行row而无需手动解压>>> row = ('hello', 'world', 'this', 'is', 'a', 'test') >>> print '{}|{}|{}|{}|{}|{}'.format(*row) hello|world|this|is|a|test

示例:

try:
    print '\n Mysql> ' + sql
    cursor.execute(sql)

    results = cursor.fetchall()
    for row in results:
        print '{}|{}|{}|{}|{}|{}'.format(*row)

except:
    print "Error ($s): unable to fetch data." % (sql)

你会修改你的:

{{1}}