我正在使用mysql.connection库到Python,我有这个方法:
query = ("select " + columns + " from " + table)
self.cursor.execute(query)
data = self.cursor.fetchall()
for row in data:
print row
在我的打印行中,我得到这样的内容:
(u'Kabul', u'AFG', u'Kabol', 1780000)
我想把它作为一个字符串,这个结果:
Kabul AFG Kabol 1780000
我可以这样做:
print row[0] + ' ' + row[1] + row[2] + ' ' + row[3]
但如果用户设置少于4列或超过4的查询,则无效。
我也在想我的元组中的循环,但我得到了这个结果:
Kabul
AFG
Kabol
1780000
有些想法?
答案 0 :(得分:1)
如果row
是tuple
,您可以使用空格加入其中的每个值:
print " ".join(row)
# Kabul AFG Kabol 1780000
因此,用户选择的列数并不重要,它将始终加入row
所拥有的列。
<强>更新强>
以上代码仅在行中的值为字符串时有效,因此您需要先将值转换为字符串然后再加入
print " ".join(map(str, row))
答案 1 :(得分:1)
您可以使用join
,但在加入混合unicode和整数列表时会遇到错误。使用内置的str
函数和列表推导来创建预期的输出。
print ' '.join(str(x) for x in row)