我想创建一个可以打印和排序的简单表。这就是我所拥有的:
from tabulate import tabulate
def main():
# Create a list of strings
tableData = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'gooses']]
# Sort the list
tableData.sort()
# Print the table
print tabulate(tableData)
# Call the main function.
main()
我的语法是否正确?还有其他方法吗?
答案 0 :(得分:0)
您可能希望能够手动打印表格,而不是使用制表格,因为这样可以让您在表格显示方式上获得更大的自由度 - 这需要更多的努力! 我发现python string.format()方法对于这种任务非常有用,这里是我用.format()编写的表打印机的一个例子:
Table=[['Name','Age','Level','Score'],['Tom','15','5','999'],
['Bob','105','7','2']]
LongestItem=0
for List in Table:
for Item in List:
if len(Item)>LongestItem:
LongestItem=len(Item)
for List in Table:
for Item in enumerate(List):
List[Item[0]] = '{:{}}'.format(List[Item[0]],LongestItem)
for Index in range(len(Table)):
print(' '.join(Table[Index]))
如果你愿意,你可以轻松地调整表格,使其具有列和行,中心对齐的记录,0填充数据等。 - 这比表格更自由。