猿问

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

我正在寻找一种漂亮打印表格的方法:


=======================

| column 1 | column 2 |

=======================

| value1   | value2   |

| value3   | value4   |

=======================

我找到了asciitable库,但它不做边框等。我不需要任何复杂的数据项格式,它们只是字符串。我确实需要它来自动调整列数。


是否存在其他库或方法,或者我需要花几分钟时间自己编写?


胡子哥哥
浏览 933回答 3
3回答

慕的地8271018

我很久以前就读过这个问题,并为桌子写完了自己的漂亮打印机:tabulate。我的用例是:我大部分时间都想要一个班轮这足够聪明,可以为我找到最好的格式并可以输出不同的纯文本格式举个例子,grid可能是最相似的输出格式:from tabulate import tabulateprint 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我也是用十进制列对齐数字的忠实粉丝。因此,如果有任何(可覆盖的),这是数字的默认对齐方式。
随时随地看视频慕课网APP

相关分类

Python
我要回答