11

在 Python 中打印表格数据的最佳方法是什么?假设数据在 2D 列表中,我想创建一个外观漂亮的表格。我实际上拥有的是一个字典列表,我想根据字典中的值打印一个交集。就像是

for val1 in my_dict:
   for val2 in my_dict:
    if val1['a'] > val2['a']:
      print 'x'

但是以这样一种方式,每列都是固定的宽度。Writter 和 formatter 类似乎在可能的领域中,但与 Perl 的格式化程序相比,使用起来仍然看起来很复杂。

是否有任何现有的实现,还是我必须自己编写?

4

3 回答 3

15
print "%20s" % somevar 

将打印值 'somevar' 并使用最多 20 个空格。在 print 语句后面添加一个逗号以避免换行 - 当然:阅读'%' 运算符上的字符串格式化操作文档

于 2011-02-25T20:45:11.967 回答
10

你知道PyPi吗?

DataGridPrettyTable似乎是我通过简短搜索找到的两个不错的选择。在将数据发送到提供的例程之前,您可能必须以您想要的格式组装数据(当您的条件为真时使用“x”)。

于 2011-02-25T20:44:25.397 回答
6

以下是编写正方形和立方体表的两种方法:

for x in range(1, 11):
    print repr(x).rjust(2), repr(x*x).rjust(3),print repr(x*x*x).rjust(4)

for x in range(1,11):
    print '{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x)

检查以获取详细信息。

于 2011-02-25T20:45:38.663 回答