我使用表格来显示一些具有中文字符的数据。然而,输出是没有组织的。
from tabulate import tabulate
data = [ ["北京理工大学", "985", 2000],
["清华大学", "985", 3000],
["大连理工大学", "985", 4000],
["深圳大学", "211", 2000],
["沈阳大学", "省本", 2000],
]
print(tabulate(data, tablefmt="grid"))发布于 2020-08-12 17:38:27
我试过漂亮的,扁平的.CJK环境的模块..它们在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 格式輸出, 避開中文對齊問題

发布于 2021-03-16 11:31:03
安装wcwidth包可以解决您的问题。看起来tabulate使用wcwidth来处理unicode字符串。
$ pip install wcwidthhttps://stackoverflow.com/questions/57619299
复制相似问题