2016-12-06 22 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

相關問題