2016-12-06 79 views
-3

我想显示Python的sqlite3:如何更改fetchall()显示元组的方式?

ID|Class|Start|End|Days|Credit Hours 
------------------------------------- 
[(1, 'MATH165', '10:30', '11:45', 'M/W/F', '4'), (3, 'MATH165', '10:30', '10:45', 'M/W/F', '4'), (4, 'CSCI230', '4:30', '5:45', 'Tu/Th', '3')] 

像这样

ID|Class|Start|End|Days|Credit Hours 
------------------------------------- 
[(1, 'MATH165', '10:30', '11:45', 'M/W/F', '4'), 
(2, 'W131', '4:30', '5:45', 'M/W', '3'), 
(3, 'CSCI230', '4:30', '5:45', 'Tu/Th', '3')] 

我的问题:是否有可能改变它显示的格式?

+1

显示你的代码。使用'for'循环来单独显示每一行。或者生成完整的字符串并用'),\ n'替换'),''。 – furas

+0

'c = conn.cursor() c.execute(“SELECT * FROM Schedule”) print(“”“ ”“”) print(“ID | Class | Start | End | Days | Credit Hours”) (“-------------------------------------”) print(c.fetchall( ))' –

+0

'用于行中的c.fetchall():print(row)'或'print(str(c.fetchall())。replace(“),”,“),\ n”)' – furas

回答

0

打印每一行单独

for row in c.fetchall(): 
    print(row) 

或使用str()创建的字符串,并与),\n

print(str(c.fetchall()).replace("),", "),\n")) 

有了你可以做更多的第一种方法代替), - 您可以使用字符串格式化,它会看起来更好。

for row in c.fetchall(): 
    print("{}|{}|{}|{}|{}|{}".format(*row)) 

查看更多:PyFormat.info

相关问题