使用python2.7,我正在尝试打印到屏幕表格数据。
这大概是我的代码的样子:
for i in mylist:
print "{}\t|{}\t|".format (i, f(i))
问题是,根据 i
或 f(i)
的长度,数据不会对齐。
这就是我得到的:
|foo |bar |
|foobo |foobar |
我想得到什么:
|foo |bar |
|foobo |foobar |
有没有允许这样做的模块?
最佳答案
滚动你自己的格式化函数并不难:
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)
关于Python 格式的表格输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8356501/