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

Python's sqlite3: How do I change how fetchall() displays the tuples?

我正在尝试显示

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')]

我的问题:是否可以更改它显示的格式?

单独打印每一行

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