在Python中打印表格数据

11 投票
3 回答
19139 浏览
提问于 2025-04-16 12:33

在Python中,打印表格数据的最佳方法是什么呢?假设数据存储在一个二维列表中,我想创建一个看起来不错的表格。实际上,我有一个字典的列表,我想根据字典中的值打印出交集。就像这样:

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

但我希望每一列的宽度是固定的。虽然有一些写入和格式化的类,看起来是可以做到的,但相比于,比如说Perl的格式化工具,使用起来还是显得复杂。

有没有现成的实现,还是说我需要自己写一个?

3 个回答

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)

想了解更多细节,可以查看这个链接

15
print "%20s" % somevar 

这段代码会打印出'somevar'这个值,并且会占用最多20个空格。如果你想避免换行,可以在打印语句后面加一个逗号。当然,你也可以去看看关于'%'操作符的字符串格式化操作文档,了解更多内容。

9

你知道什么是 PyPi 吗?

我简单搜索了一下,发现 DataGridPrettyTable 这两个工具看起来不错。你可能需要先把数据整理成你想要的格式(比如用“x”表示条件成立时的情况),然后再把这些数据传给提供的功能。

撰写回答