我在Python 3.6中使用了
PrettyTable
模块,但是输出表没有对齐(如图中的红色矩形)。我在互联网上搜索了这个问题,但没有很好的答案。
所有行的数据都来自包含大量字典的列表。 代码如下:
def prettyPrint(self,trains):
pt = PrettyTable()
pt.title = 'Results for Query Tickets'
pt.field_names = ["车次", "出发站","到达站", "出发时间","到达时间", "历时", "商务座特等座","一等座", "二等座", "软卧", "动卧", "硬卧", "硬座", "无座"]
pt.align["车次"] = "l"
for train in trains:
pt.add_row(train.values())
print(pt)
如何制作?谢谢。
看起来你的值的前几个数字都没有直线对齐,导致你的“|”符号会因此而出格。解决方法是在列出要打印的程序的值时确保间距正确。如果值的长度不同,则添加空格。
您的控制台正在使用混合字体。西文字符的字体显示为等宽,但中文字符不与典型的双宽度单元格网格对齐。这表明主要等宽字体缺少中文字符,并且为中文选择了替代字体。替代品具有不同的字符前进指标,与等宽西方字体不一致。