小编典典

Python格式表格输出

python

使用python2.7,我正在尝试打印到屏幕表格数据。

这大致就是我的代码:

for i in mylist:
   print "{}\t|{}\t|".format (i, f(i))

问题是,取决于长度if(i)数据将不会对齐。

这就是我得到的:

|foo |bar |
|foobo   |foobar  |

我想要得到什么:

|foo     |bar     |
|foobo   |foobar  |

是否有允许执行此操作的模块?


阅读 325

收藏
2021-01-20

共1个答案

小编典典

推出自己的格式化功能并不难:

def print_table(table):
    col_width = [max(len(x) for x in col) for col in zip(*table)]
    for line in table:
        print "| " + " | ".join("{:{}}".format(x, col_width[i])
                                for i, x in enumerate(line)) + " |"

table = [(str(x), str(f(x))) for x in mylist]
print_table(table)
2021-01-20