在Python中打印表格数据

Mak*_*kis 10 python tabular

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

for val1 in my_dict:
   for val2 in my_dict:
    if val1['a'] > val2['a']:
      print 'x'
Run Code Online (Sandbox Code Playgroud)

但是这样每个列的宽度都是固定的.Writer和格式化程序类似乎是可能性的东西,但与Perl的格式化程序相比,它仍然看起来很复杂.

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

小智 15

print "%20s" % somevar 
Run Code Online (Sandbox Code Playgroud)

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


Hut*_*ut8 9

你知道PyPi吗?

DataGridPrettyTable似乎是我通过简短搜索找到的两个很好的选择.您可能必须以所需的格式汇编数据(在条件为真时使用"x"),然后再将其发送到提供的例程.


ims*_*msc 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)
Run Code Online (Sandbox Code Playgroud)

检查了解详情.