I can't reproduce the error you get:
In [1]: output = """ mac address | bport | vlan | flow agg |static|aging|proccess|deny_sa ...: ========================================================================== ...: e8 37 7a 9d 1a f1 | 1616 | 3612 | 44200059 | 0 | 1 | 0 | 0 ...: 54 b8 a 49 97 d5 | 1696 | 3612 | 442000a5 | 0 | 1 | 0 | 0 ...: b0 b2 dc 5 d 87 | 1730 | 3612 | 442000c7 | 0 | 1 | 0 | 0 ...: 0 16 fa d0 be a1 | 300 | 4094 | 4420002c | 1 | 0 | 0 | 0 ...: 28 28 5d ed b4 41 | 1640 | 3612 | 4420006f | 0 | 1 | 0 | 0 ...: 0 17 7c 76 99 4d | 1622 | 3612 | 4420005d | 0 | 1 | 0 | 0 ...: 28 28 5d 94 78 da | 1704 | 3612 | 442000ad | 0 | 1 | 0 | 0 ...: 48 ee c 95 8 ee | 1630 | 3612 | 44200065 | 0 | 1 | 0 | 0 ...: 48 ee c bf 49 65 | 1628 | 3612 | 44200063 | 0 | 1 | 0 | 0 ...: 0 17 7c 80 7c 4a | 1732 | 3612 | 442000c9 | 0 | 1 | 0 | 0 ...: e8 cc 18 62 4b d3 | 1736 | 3612 | 442000cd | 0 | 1 | 0 | 0 ...: 0 25 5e 3f e7 18 | 1716 | 3612 | 442000b9 | 0 | 1 | 0 | 0 ...: cc 5d 4e 26 e8 e2 | 1706 | 3612 | 442000af | 0 | 1 | 0 | 0 ...: c d2 b5 5f 62 6e | 1632 | 3612 | 44200067 | 0 | 1 | 0 | 0 ...: 28 28 5d f4 f dc | 1680 | 3612 | 44200095 | 0 | 1 | 0 | 0 ...: e8 37 7a 9d e 6b | 1734 | 3612 | 442000cb | 0 | 1 | 0 | 0 ...: cc 5d 4e 26 e2 30 | 1698 | 3612 | 442000a7 | 0 | 1 | 0 | 0 ...: 0 26 15 11 7a fa | 1674 | 3612 | 4420008f | 0 | 1 | 0 | 0 ...: c d2 b5 63 51 87 | 1710 | 3612 | 442000b3 | 0 | 1 | 0 | 0""" In [2]: for line in output.split('\n')[2:]: ...: mac = line.split('|')[0].strip().split() ...: print(len(mac)) ...: print('{:0>2}:{:0>2}:{:0>2}:{:0>2}:{:0>2}:{:0>2}'.format(*mac)) ...: 6 e8:37:7a:9d:1a:f1 6 54:b8:0a:49:97:d5 6 b0:b2:dc:05:0d:87 6 00:16:fa:d0:be:a1 6 28:28:5d:ed:b4:41 6 00:17:7c:76:99:4d 6 28:28:5d:94:78:da 6 48:ee:0c:95:08:ee 6 48:ee:0c:bf:49:65 6 00:17:7c:80:7c:4a 6 e8:cc:18:62:4b:d3 6 00:25:5e:3f:e7:18 6 cc:5d:4e:26:e8:e2 6 0c:d2:b5:5f:62:6e 6 28:28:5d:f4:0f:dc 6 e8:37:7a:9d:0e:6b 6 cc:5d:4e:26:e2:30 6 00:26:15:11:7a:fa 6 0c:d2:b5:63:51:87 In [3]: for line in output.split('\n')[2:]: ...: address = line.split('|')[0].strip().split() ...: mac = [elm for elm in address if elm] ...: print('{:0>2}:{:0>2}:{:0>2}:{:0>2}:{:0>2}:{:0>2}'.format(*mac)) ...: e8:37:7a:9d:1a:f1 54:b8:0a:49:97:d5 b0:b2:dc:05:0d:87 00:16:fa:d0:be:a1 28:28:5d:ed:b4:41 00:17:7c:76:99:4d 28:28:5d:94:78:da 48:ee:0c:95:08:ee 48:ee:0c:bf:49:65 00:17:7c:80:7c:4a e8:cc:18:62:4b:d3 00:25:5e:3f:e7:18 cc:5d:4e:26:e8:e2 0c:d2:b5:5f:62:6e 28:28:5d:f4:0f:dc e8:37:7a:9d:0e:6b cc:5d:4e:26:e2:30 00:26:15:11:7a:fa 0c:d2:b5:63:51:87However the correction in the last loop in the above should eliminate it.
In [4]: mac_addr, bport, vlan = [column.strip() for column in output.split('\n')[0].split('|')[:3]] ...: print("{:^23}\t{:^5}\t{:^5}".format(mac_addr, bport, vlan)) ...: print() ...: for line in output.split('\n')[2:]: ...: data = [field.strip() for field in line.split('|')[:3]] ...: mac = [elm for elm in address if elm] ...: mac_addr = '{:0>2}:{:0>2}:{:0>2}:{:0>2}:{:0>2}:{:0>2}'.format(*mac) ...: bport, vlan = data[1:] ...: print("{:^23}\t{:^5}\t{:^5}".format(mac_addr, bport, vlan)) ...:
Output: mac address bport vlan
0c:d2:b5:63:51:87 1616 3612
0c:d2:b5:63:51:87 1696 3612
0c:d2:b5:63:51:87 1730 3612
0c:d2:b5:63:51:87 300 4094
0c:d2:b5:63:51:87 1640 3612
0c:d2:b5:63:51:87 1622 3612
0c:d2:b5:63:51:87 1704 3612
0c:d2:b5:63:51:87 1630 3612
0c:d2:b5:63:51:87 1628 3612
0c:d2:b5:63:51:87 1732 3612
0c:d2:b5:63:51:87 1736 3612
0c:d2:b5:63:51:87 1716 3612
0c:d2:b5:63:51:87 1706 3612
0c:d2:b5:63:51:87 1632 3612
0c:d2:b5:63:51:87 1680 3612
0c:d2:b5:63:51:87 1734 3612
0c:d2:b5:63:51:87 1698 3612
0c:d2:b5:63:51:87 1674 3612
0c:d2:b5:63:51:87 1710 3612