当前位置: 首页 > 面试题库 >

在python中创建漂亮的列输出

卢黎昕
2023-03-14
问题内容

我正在尝试在python中创建一个不错的列列表,以与我创建的命令行管理工具一起使用。

基本上,我想要一个像这样的列表:

[['a', 'b', 'c'], ['aaaaaaaaaa', 'b', 'c'], ['a', 'bbbbbbbbbb', 'c']]

变成:

a            b            c
aaaaaaaaaa   b            c
a            bbbbbbbbbb   c

使用普通标签不会解决问题,因为我不知道每一行中最长的数据。

这与Linux中的’column -t’相同。

$ echo -e "a b c\naaaaaaaaaa b c\na bbbbbbbbbb c"
a b c
aaaaaaaaaa b c
a bbbbbbbbbb c

$ echo -e "a b c\naaaaaaaaaa b c\na bbbbbbbbbb c" | column -t
a           b           c
aaaaaaaaaa  b           c
a           bbbbbbbbbb  c

我到处寻找各种python库来执行此操作,但找不到任何有用的方法。


问题答案:
data = [['a', 'b', 'c'], ['aaaaaaaaaa', 'b', 'c'], ['a', 'bbbbbbbbbb', 'c']]

col_width = max(len(word) for row in data for word in row) + 2  # padding
for row in data:
    print "".join(word.ljust(col_width) for word in row)

a            b            c            
aaaaaaaaaa   b            c            
a            bbbbbbbbbb   c

这样做是计算最长的数据条目以确定列宽,然后.ljust()在打印出每一列时用于添加必要的填充。



 类似资料:
  • 问题内容: 是否有一种简单的内置方法将2D Python列表打印为2D矩阵? 所以这: 会变成像 我找到了pprint模块,但是它似乎并没有实现我想要的功能。 问题答案: 为了使事情变得有趣,让我们尝试使用更大的矩阵: 输出: UPD:对于多行单元格,应如下所示: 然后应用上面的代码。 另请参见http://pypi.python.org/pypi/texttable

  • 问题内容: 我有一个字典列表,带有来自SQL查询的classid,dept,coursenum,area和title字段。我想以人类可读的格式输出值。我在想每列顶部的列标题,然后在每列中适当的输出,即: (显然是使用标准对齐/间距) 我将如何在python中完成此操作? 问题答案: 标准的Python字符串格式可能就足够了。 要么 使用对齐,填充和精确格式说明符来获得最佳结果。

  • 问题内容: 我想比较两个文本块,看看在Python中添加/删除/修改了哪些单词/行(类似于Wiki的Diff输出)。 我已经尝试了difflib.HtmlDiff,但是它的输出比漂亮的少。 Python(或外部库)中是否有一种方法可以生成两组文本块的差异的清晰HTML?(不仅是行级别,还包括一行中的单词/字符修改) 问题答案: 有在DIFF匹配补丁从谷歌库。

  • 问题内容: 如果有人对JSON的打印非常了解,那么我将不胜感激! 我正在使用以下功能将JSON字符串移动到文件中,以将复杂的python字符串转换为JSON格式: 问题是我遇到了方括号的语法错误,因为这对我来说是个新话题,我不知道该如何解决。我需要的JSON格式如下: 我正在使用Google Visualization API,您可能对此比较熟悉,但是我需要动态图。上面的代码是API创建图形所需的

  • 如何从AWS漂亮地打印出Boto EC2输出? 这是原版(不太漂亮): s是什么? 如果我尝试使用Python的JSON转储,我得到:

  • 问题内容: 这是一个..徒劳的问题,但是BuildBot的输出并不是特别好看。 例如,相比 phpUnderControl jenkins hudson CruiseControl.rb ..及其他,BuildBot看起来..古老 我目前正在与Hudson一起玩,但是它是非常以Java为中心的(尽管使用本指南,我发现它比BuildBot容易设置,并提供了更多信息) 基本上:是否有任何针对pytho