我有一个数据列表,看起来像这样:
[
(
1,
u'python -c \'print("ok")\'',
u'data',
u'python'
), (
2,
u'python -c \'print("this is some data")\'',
u'data',
u'python'
)
]
这些数据是从一个数据库中提取出来并显示的,数据在不断增长。我希望能够将数据以这样的方式进行显示:
Language | Type | Payload
-------------------------------
python | data | python -c 'print("ok")'
python | data | python -c 'print("this is some data")'
我有一个函数,有点类似于这个功能,但是它并不完全符合预期:
def print_table(data, cols, width):
n, r = divmod(len(data), cols)
pattern = "{{:{}}}".format(width)
line = "\n".join(pattern * cols for _ in range(n))
last_line = pattern * r
print(line.format(*data))
print(last_line.format(*data[n*cols]))
如何使我的数据输出看起来符合要求?从答案中可以使用 pandas
实现,但我也希望有一种不安装外部模块的方法。
f""
的2.x? - 13aalf'strings'
转换为普通的.format()
语法 - 参见编辑 - 对于没有看到 Python 2.7 标签感到抱歉 - Python2 不使用 print() 作为函数 - 因此这种方式不兼容 - 你可能需要从 future 中导入 print:如何使用 from-future-import-print-function。 - Patrick Artner