目前我正在尝试将表中的信息显示到控制台行。我尝试过格式化数据,但似乎并不想改变。
格式代码为:
print("{:>21}".format("Student Table")) #Title
print("{:>5} {:>8} {:>8}".format(col_names[0], col_names[1], col_names[2])) #Column Names
for row in rows:
print("{:^8} {:<50} {:<8}".format(*row)) #information formatting
然后数据显示以下内容:
Student Table
StudentID Name Year
1 Dan 13
2 Laura 12
3 Joe 13
4 David 13
5 Jake 13
我正在尝试重新定位名称信息,并将其从左侧对齐,以便所有内容与列标题对齐。
我尝试更改信息格式的中间数字,但信息似乎没有改变!
请告诉我如何排列信息。
答案 0 :(得分:2)
正文格式与标题格式不匹配。 StudentID
是9个字符。所以第一列长度应该增加。
print("{:>9} {:<50} {:<8}".format(*col_names))
for row in rows:
print("{:^9} {:<50} {:>8}".format(*row))
答案 1 :(得分:0)
除了 falsetru 的回答之外,请注意您可以拥有一个非常动态的格式化字符串;这样,可以根据您的值设置列的左侧或右侧和宽度:
>>> '{0:{1}>{2}}'.format('some', '*', 10)
'******some'
>>> '{0:{1}{2}{3}}'.format('some', '*', '<', 10)
'some******'
>>> '{0:{1}{2}{3}}'.format('some', '*', '>', 10)
'******some'
另一个好主意是定义格式化字符串一次,并在任何可能的地方使用它。