Если табличные данные каким-то образом читаются в python (в этом примере чтение csv-файла с помощью модуля Pandas), модуль "tabulate" весьма полезен и прост .
import pandas
from tabulate import tabulate
data = pandas.read_csv('/tmp/foo.csv', index_col=0)
print(tabulate(data, headers=data.columns, tablefmt="grid"))
Что дает хороший результат:
+-----+------+------+
| | A | B |
+=====+======+======+
| foo | 1 | 0.2 |
+-----+------+------+
| bar | 3.14 | 10.9 |
+-----+------+------+
Вы можете создавать разные стили
print(tabulate(data, headers=data.columns, tablefmt="fancy_grid"))
╒═════╤══════╤══════╕
│ │ A │ B │
╞═════╪══════╪══════╡
│ foo │ 1 │ 0.2 │
├─────┼──────┼──────┤
│ bar │ 3.14 │ 10.9 │
╘═════╧══════╧══════╛