【问题标题】:Printing tabular data in Python在 Python 中打印表格数据
【发布时间】:2011-07-04 14:06:18
【问题描述】:

在 Python 中打印表格数据的最佳方法是什么?假设数据在二维列表中,我想创建一个外观漂亮的表格。我实际上拥有的是一个字典列表,我想根据字典中的值打印一个交集。类似的东西

for val1 in my_dict:
   for val2 in my_dict:
    if val1['a'] > val2['a']:
      print 'x'

但以这样一种方式,每列是固定宽度。 Writter 和 formatter 类似乎在可能的领域中,但与 Perl 的格式化程序相比,使用起来仍然看起来很复杂。

是否有任何现有的实现,还是我必须自己编写?

【问题讨论】:

标签: python tabular


【解决方案1】:

你知道PyPi吗?

DataGridPrettyTable 似乎是我通过简短搜索找到的两个不错的选择。在将数据发送到提供的例程之前,您可能必须以您想要的格式(使用“x”表示您的条件为真)组装数据。

【讨论】:

    【解决方案2】:
    print "%20s" % somevar 
    

    将打印值 'somevar' 并使用最多 20 个空格。在 print 语句后面添加一个逗号以避免换行 - 当然:阅读 '%' 运算符上的string formatting operations docs

    【讨论】:

      【解决方案3】:

      这里有两种写正方形和立方体表格的方法:

      for x in range(1, 11):
          print repr(x).rjust(2), repr(x*x).rjust(3),print repr(x*x*x).rjust(4)
      
      for x in range(1,11):
          print '{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x)
      

      查看this 了解详情。

      【讨论】:

        猜你喜欢
        • 2021-10-13
        • 1970-01-01
        • 2011-11-13
        • 1970-01-01
        • 2023-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多