如何将此输出转换为表格

时间:2016-11-18 22:38:37

标签: python

这是我的输出和我尝试打印格式化的表格,但它不断给出错误"零长度字段名称格式"。 如何在不使用模块的情况下将输出打印为格式化表格,最好使用此/类似方法:

名称用于测试目的:)

1 个答案:

答案 0 :(得分:1)

newOrder = [['gtin', 'name', 'price', 'quantity'], ['01234567', 'apples', '1.50', '12', ],
            ['01234566', 'applesxyz', '1.50', '12', ], ['01234565', 'asdasdapples', '1.50', '102', ],
            ['11234567', 'apples', '1.50', '12', ]]

widths = [max(len(row[i]) for row in newOrder) for i in range(len(newOrder[0]))]

for row in newOrder:
    print(' | '.join(cell.ljust(width) for cell, width in zip(row, widths)))

输出:

gtin     | name         | price | quantity
01234567 | apples       | 1.50  | 12      
01234566 | applesxyz    | 1.50  | 12      
01234565 | asdasdapples | 1.50  | 102     
11234567 | apples       | 1.50  | 12  

这是基于我的回答here。我不想将其标记为重复,因为此问题不涉及CSV。