我有一本字典要格式化成表格:
band3 = \
{'channel1': [10564, 2112, 1922],
'channel10': [10787, 2157, 1967],
'channel11': [10812, 2162, 1972],
'channel12': [10837, 2167, 1977],
'channel2': [10589, 2117, 1927],
'channel3': [10612, 2122, 1932],
'channel4': [10637, 2127, 1937],
'channel5': [10662, 2132, 1942],
'channel6': [10687, 2137, 1947],
'channel7': [10712, 2142, 1952],
'channel8': [10737, 2147, 1957],
'channel9': [10762, 2152, 1962]}
我是这样做的:
^{pr2}$这样可以得到:
Channel 1 Channel 2 Channel 3 Channel 4 Channel 5 Channel 6 Channel 7 Channel 8 Channel 9 Channel 10 Channel 11 Channel 12
10564 10589 10612 10637 10662 10687 10712 10737 10762 10787 10812 10837
2112/1922 2117/1927 2122/1932 2127/1937 2132/1942 2137/1947 2142/1952 2147/1957 2152/1962 2157/1967 2162/1972 2167/1977
20 0 0 26 32 0 26 0 0 0 0 15
但是现在我想给这些行命名:
Channel 1 Channel 2 Channel 3 Channel 4 Channel 5 Channel 6 Channel 7 Channel 8 Channel 9 Channel 10 Channel 11 Channel 12
UARFCN 10564 10589 10612 10637 10662 10687 10712 10737 10762 10787 10812 10837
DL/UL 2112/1922 2117/1927 2122/1932 2127/1937 2132/1942 2137/1947 2142/1952 2147/1957 2152/1962 2157/1967 2162/1972 2167/1977
RSSI 20 0 0 26 32 0 26 0 0 0 0 15
这相当简单,我将打印循环改为:
print " ",
print(' '.join(table[0]))
print "UARFCN",
print(' '.join(table[1]))
print "DL/UL ",
print(' '.join(table[2]))
print "RSSI ",
print(' '.join(table[3]))
不过,我想知道一些更好的打印列名的方法。 我可以用上面的填充计算变得冗长,但我想知道什么是一个干净、简单的好方法。在
编辑:格式化尝试:
print('{0:6s} {1}'.format("", ' '.join(table[0])))
print('{0:2s} {1}'.format("UARFCN", ' '.join(table[1])))
print('{0:6s} {1}'.format("DL/UL", ' '.join(table[2])))
print('{0:6s} {1}'.format("RSSI", ' '.join(table[3])))
编辑:另一种方式
print('{0} {1}'.format("".ljust(6), ' '.join(table[0])))
print('{0} {1}'.format("UARFCN".ljust(6), ' '.join(table[1])))
print('{0} {1}'.format("DL/UL".ljust(6), ' '.join(table[2])))
print('{0} {1}'.format("RSSI".ljust(6), ' '.join(table[3])))
改进建议?在
如果你不介意顺序的话,我想这会有助于打印
输出:
^{pr2}$与许多python任务一样,可以通过导入神奇的模块来实现更优雅的代码。在本例中,该模块称为prettytable。在
以下是一些工作代码:
以及它的输出:
^{pr2}$不过,我不知道从哪里得到RSSI行值。在
相关问题 更多 >
编程相关推荐