Python PrettyTable 对齐

问题描述 投票:0回答:2

我在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) 

如何制作?谢谢。

python alignment prettytable
2个回答
0
投票

看起来你的值的前几个数字都没有直线对齐,导致你的“|”符号会因此而出格。解决方法是在列出要打印的程序的值时确保间距正确。如果值的长度不同,则添加空格。


0
投票

您的控制台正在使用混合字体。西文字符的字体显示为等宽,但中文字符不与典型的双宽度单元格网格对齐。这表明主要等宽字体缺少中文字符,并且为中文选择了替代字体。替代品具有不同的字符前进指标,与等宽西方字体不一致。

© www.soinside.com 2019 - 2024. All rights reserved.