【发布时间】:2014-12-02 21:59:12
【问题描述】:
我有一个 CSV 文件中的数据,可以判断篮球运动员是否肥胖。
我需要根据这些数据制作一个完美对齐的表格;我有所有的信息来判断一个球员是否肥胖。但是,我有一个“if”语句,可以打印出每个肥胖玩家的值,我需要将其打印在整齐、对齐的行中。
我有:
obese_count = 0
total_count = 0
print (" " * 5, "First Name", " " * 2, "Last Name", " " * 2, "Height"," " * 2,"Weight"," " * 2, "BMI") # header
print ("- " * 20)
for player in players:
if has_data(player):
if is_obese(player):
print (" " * 5, player["firstname"]," " * 5, player["lastname"]," " * 9, player["h_feet"]," " * 9,player["h_inches"]," " * 5, player["weight"])
obese_count += 1
total_count += 1
返回一个非常草率的表:
First Name Last Name Height Weight BMI
- - - - - - - - - - - - - - - - - - - -
Carlos Boozer 6 9 280
Elton Brand 6 8 275
Glen Davis 6 9 289
Thomas Hamilton 7 2 330
James Lang 6 10 305
Jason Maxiell 6 7 280
Oliver Miller 6 9 280
Craig Smith 6 7 272
Robert Traylor 6 8 284
Jahidi White 6 9 290
我想知道是否有什么办法可以整理一下,这样我就可以有一个整洁且对齐的表格,或者至少对齐的行没有不同的间隔。
【问题讨论】:
-
如Format Specification Mini-Language 文档中所示,您可以使用
width定义每个字段与align字符之一的耦合程度("<"|">"|"="|"^") 让它看起来不错。
标签: python csv alignment spacing tabular