鉴于下表。如何使用variable.center(),variable.rjust(),variable.ljust(),%f和任何其他描述符将其转换为python中的表
Name Age Height Pay Rate Grade
----------- ---------- ---------- ---------- ----------
John 15.00 1.20 10.00 8.00
Robert 45.00 6.70 24.00 14.00
Duncan 10.00 5.40 5.00 10.00
Steven 30.00 6.50 30.00 16.00
我想用python创建上面的表格,我将如何将上面的内容格式化为表格
答案 0 :(得分:1)
有些人指出你的问题可能是重复的,但有问题的答案看起来有点旧......自从引入新的字符串格式迷你语言以来,你可以使用str.format
来做这件事单独
假设您的列表如下:
data = [
["John" , 15.00, 1.20, 10.00, 8.00],
["Robert", 45.00, 6.70, 24.00, 14.00],
["Duncan", 10.00, 5.40, 5.00, 10.00],
["Steven", 30.00, 6.50, 30.00, 16.00],
]
您可以使用格式化方法:
# Headers, centered
print("{: ^15s} {: ^15s} {: ^15s} {: ^15s} {: ^15s}".format(
"Name", "Age", "Height", "Pay Rate", "Grade")
)
# Dashes (not very readable, but I'm lazy)
print(" ".join([("-" * 15)] * 5))
# Lines
for line in data:
print("{:15s} {: 15.2f} {: 15.2f} {: 15.2f} {: 15.2f}".format(*line))
格式规范是(参见format specification mini-language):
format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]
fill ::= <any character>
align ::= "<" | ">" | "=" | "^"
sign ::= "+" | "-" | " "
width ::= integer
precision ::= integer
type ::= (pretty much like printf)
^
表示居中。
结果应该是:
Name Age Height Pay Rate Grade
--------------- --------------- --------------- --------------- ---------------
John 15.00 1.20 10.00 8.00
Robert 45.00 6.70 24.00 14.00
Duncan 10.00 5.40 5.00 10.00
Steven 30.00 6.50 30.00 16.00
让这个更短,更可重复使用留给你锻炼。