0

PrettyTable在 Python 3.6 中使用了模块,但是输出表没有对齐(如图中的红色矩形)。我在互联网上搜索过这个问题,但没有好的答案。

是不是因为表里有中文? 在此处输入图像描述

行的所有数据都来自包含大量字典的列表。代码如下:

 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) 

怎么做?谢谢。

4

2 回答 2

0

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

于 2022-01-05T21:07:19.787 回答
0

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

于 2018-08-07T02:45:16.007 回答