我使用列表显示一些带有汉字的数据。但是输出没有组织。
from tabulate import tabulate
data = [ ["北京理工大学", "985", 2000],
["清华大学", "985", 3000],
["大连理工大学", "985", 4000],
["深圳大学", "211", 2000],
["沈阳大学", "省本", 2000],
]
print(tabulate(data, tablefmt="grid"))
答案 0 :(得分: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 格式輸出, 避開中文對齊問題
答案 1 :(得分:0)
安装 wcwidth
软件包可能会解决您的问题。似乎 tabulate
使用 wcwidth
来处理 unicode 字符串。
$ pip install wcwidth