我有一个包含字符串列表的dict
,我想以如下格式将终端中的所有内容作为表打印出来:
+----------------------------------------------+
| key1 | key2 | key3 | key4 |
+----------------------------------------------+
| val_1 | val_1 | val_1 | val_1 |
|----------|----------|-----------|------------|
| val_2 | val_2 | val_2 | val_2 |
+----------------------------------------------+
等等
有没有一个惊人的模块或一个简单的方法来实现这一点?我有一个列宽列表,通过在每个列表中查找最长的val可以得到列宽。
key1、key2、key3等的问题是键中的dict没有排序。因此,我可以随意地将dict更改为键值元组列表,以便对键进行排序:
你可以这样做:
为了将dict转换成元组列表,只需使用
[ (k, v) for k, v in d.items () ]
。把这两件事放在一起会导致:
文本表工作,可以通过
http://foutaise.org/code/texttable/
https://pypi.python.org/pypi?name=texttable&:action=display
映射中的键没有排序,因此不能保证特定的顺序。
TextTable只接受行主表排序,因此您必须对迭代器有点兴趣:
它给出:
你可以用^{} 。
apt-get install python-prettytable
在Ubuntu中安装。是的。
结果是:
PrettyTable还提供HTML格式。将
print table
替换为:你会得到:
相关问题 更多 >
编程相关推荐