为了账号安全,请及时绑定邮箱和手机立即绑定

如何用Python漂亮地打印ASCII表?

如何用Python漂亮地打印ASCII表?

胡子哥哥 2019-09-02 15:23:28
我正在寻找一种漂亮打印表格的方法:=======================| column 1 | column 2 |=======================| value1   | value2   || value3   | value4   |=======================我找到了asciitable库,但它不做边框等。我不需要任何复杂的数据项格式,它们只是字符串。我确实需要它来自动调整列数。是否存在其他库或方法,或者我需要花几分钟时间自己编写?
查看完整描述

3 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

我很久以前就读过这个问题,并为桌子写完了自己的漂亮打印机:tabulate。


我的用例是:


我大部分时间都想要一个班轮

这足够聪明,可以为我找到最好的格式

并可以输出不同的纯文本格式

举个例子,grid可能是最相似的输出格式:


from tabulate import tabulate

print tabulate([["value1", "value2"], ["value3", "value4"]], ["column 1", "column 2"], tablefmt="grid")

+------------+------------+

| column 1   | column 2   |

+============+============+

| value1     | value2     |

+------------+------------+

| value3     | value4     |

+------------+------------+

其他支持的格式是plain(无行),simple(Pandoc简单表),pipe(如PHP Markdown Extra中的表),(如Emacs'org orgtbl模式中的rst表),(如reStructuredText中的简单表)。grid并且orgtbl可以在Emacs中轻松编辑。


性能方面,tabulate稍微慢一点asciitable,但比PrettyTable和更快texttable。


PS我也是用十进制列对齐数字的忠实粉丝。因此,如果有任何(可覆盖的),这是数字的默认对齐方式。


查看完整回答
反对 回复 2019-09-02
  • 3 回答
  • 0 关注
  • 932 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信