我试图从数据库中用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()
存储在不同行中的六个值列表是我要在列中打印的值。有关如何处理此事的任何建议吗?
答案 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}}