我对Python很陌生,现在我正在努力为打印输出很好地格式化我的数据.
我有一个用于两个标题的列表,以及一个应该是表格内容的矩阵.像这样:
teams_list = ["Man Utd", "Man City", "T Hotspur"]
data = np.array([[1, 2, 1],
                 [0, 1, 0],
                 [2, 4, 2]])
请注意,标题名称的长度不一定相同.但是,数据条目都是整数.
现在,我想以表格格式表示这个,如下所示:
            Man Utd   Man City   T Hotspur
  Man Utd         1          0           0
 Man City         1          1           0
T Hotspur         0          1           2
我有预感,必须有一个数据结构,但我找不到它.我已经尝试使用字典和格式化打印,我已尝试使用缩进的for循环,我已尝试打印为字符串.
我确信必须有一个非常简单的方法来做到这一点,但由于缺乏经验,我可能会错过它.
我正在寻找一个用于打印这样的表的Python库:
=======================
| column 1 | column 2 |
=======================
| value1   | value2   |
| value3   | value4   |
=======================
我找到了asciitable,但它不做边框等.我不需要任何复杂的数据项格式,它们只是字符串.我确实需要它来自动调整列数.
这样的事情存在,还是我需要花几分钟时间写自己的?
我试图打印几个列表(等长)作为表的列.
我正在从.txt文件中读取数据,在代码的最后,我有5个列表,我想打印为列分隔但空格.
我是python的新手,正在经历一个问题.我有一个文本文件,我将其读入列表,然后将其分成块或"团队".子列表的数量是根据我想要的团队数量创建的.这一切都完成了.但我想以一种漂亮的表格格式打印出来.我已经调查了以下这个,这个和这个问题,但它们不是我想要的.我甚至看过pypi模块PrettyTable和DataGrid.
我的最终列表如下所示:
['name9', 'name2'], ['name4', 'name11'], ['name10', 'name3'], ['name7', 'name6'], ['name5', 'name8'], ['name']]
我打印出来像这样:
for i in range(len(l)):
    print "Teams{}\t\t ".format(i+1),
print
for x in itertools.izip_longest(*l, fillvalue="."):
    print "\n"
    t =  "\t\t ".join(str(i) for i in x)
    print t
结果如下:
Teams1        Teams2          Teams3          Teams4          Teams5          Teams6
name9        name4       name10      name7       name5       name
name2        name11      name3       name6       name8       .
有什么方法可以得到这样的输出:
Team 1      Team 2      Team 3      Team 4      Team 5      Team 6
-------------------------------------------------------------------
name9       name4 …