0

我用表格来显示一些有汉字的数据。但是输出没有组织。

from tabulate import tabulate
data = [ ["北京理工大学", "985", 2000],
         ["清华大学", "985", 3000],
         ["大连理工大学", "985", 4000],
         ["深圳大学", "211", 2000],
         ["沈阳大学", "省本", 2000],
    ]
print(tabulate(data, tablefmt="grid"))

在此处输入图像描述

4

2 回答 2

0

我为 CJK env 尝试了漂亮的制表...模块。它们在 ASCII 输出中存在 CJK 字体对齐问题。但是,一种方法可以避免使用html 输出格式的 CJK 字体对齐问题。

示例代码:

import prettytable as pt

tb1=pt.PrettyTable()

tb1.padding_width = 5
tb1.field_names=[" 名稱", " 項目", " 數量", "單價", "總價"]
tb1.align[" 名稱"]="c"
tb1.align["項目"]="l"
tb1.align["數量"]="r"
tb1.align["單價"]="r"
tb1.align["總價"]="r"

for task in list1:
    tb1.add_row(task)
    
print(tb1.get_html_string())         #改寫成HTML 格式輸出, 避開中文對齊問題

在此处输入图像描述

于 2020-08-12T09:38:27.280 回答
0

安装wcwidth包可能会解决您的问题。似乎tabulate用于wcwidth处理 unicode 字符串。

$ pip install wcwidth
于 2021-03-16T03:31:02.807 回答