我想打印NumPy表格数组数据,使其看起来漂亮。R和数据库控制台似乎展示了很好的能力来完成这项工作。然而,NumPy内置的表格数组打印看起来像垃圾:
import numpy as np
dat_dtype = {
'names' : ('column_one', 'col_two', 'column_3'),
'formats' : ('i', 'd', '|U12')}
dat = np.zeros(4, dat_dtype)
dat['column_one'] = range(4)
dat['col_two'] = 10**(-np.arange(4, dtype='d') - 4)
dat['column_3'] = 'ABCD'
dat['column_3'][2] = 'long string'
print(dat)
# [(0, 1.e-04, 'ABCD') (1, 1.e-05, 'ABCD') (2, 1.e-06, 'long string')
# (3, 1.e-07, 'ABCD')]
我希望得到类似数据库输出的格式,比如像PostgreSQL风格:
column_one | col_two | column_3
------------+---------+-------------
0 | 0.0001 | ABCD
1 | 1e-05 | ABCD
2 | 1e-08 | long string
3 | 1e-07 | ABCD
有没有好的第三方Python库可以格式化漂亮的ASCII表格?