有一些轻量且有用的 python 包可用于此目的:
1. 制表: https://pypi.python.org/pypi/tabulate https://pypi.python.org/pypi/tabulate
from tabulate import tabulate
print(tabulate([['Alice', 24], ['Bob', 19]], headers=['Name', 'Age']))
Name Age
------ -----
Alice 24
Bob 19
tabulate 有许多选项来指定标题和表格格式。
print(tabulate([['Alice', 24], ['Bob', 19]], headers=['Name', 'Age'], tablefmt='orgtbl'))
| Name | Age |
|--------+-------|
| Alice | 24 |
| Bob | 19 |
2.漂亮的桌子: https://pypi.python.org/pypi/PrettyTable https://pypi.python.org/pypi/PrettyTable
from prettytable import PrettyTable
t = PrettyTable(['Name', 'Age'])
t.add_row(['Alice', 24])
t.add_row(['Bob', 19])
print(t)
+-------+-----+
| Name | Age |
+-------+-----+
| Alice | 24 |
| Bob | 19 |
+-------+-----+
PrettyTable 可以选择从 csv、html、sql 数据库读取数据。您还可以选择数据子集、对表格进行排序和更改表格样式。
3.文本表: https://pypi.python.org/pypi/texttable https://pypi.python.org/pypi/texttable
from texttable import Texttable
t = Texttable()
t.add_rows([['Name', 'Age'], ['Alice', 24], ['Bob', 19]])
print(t.draw())
+-------+-----+
| Name | Age |
+=======+=====+
| Alice | 24 |
+-------+-----+
| Bob | 19 |
+-------+-----+
使用texttable,您可以控制水平/垂直对齐、边框样式和数据类型。
4. 术语表: https://github.com/nschloe/termtables https://github.com/nschloe/termtables
import termtables as tt
string = tt.to_string(
[["Alice", 24], ["Bob", 19]],
header=["Name", "Age"],
style=tt.styles.ascii_thin_double,
# alignment="ll",
# padding=(0, 1),
)
print(string)
+-------+-----+
| Name | Age |
+=======+=====+
| Alice | 24 |
+-------+-----+
| Bob | 19 |
+-------+-----+
使用texttable,您可以控制水平/垂直对齐、边框样式和数据类型。
其他选项:
-
终端表 https://github.com/Robpol86/terminaltables从字符串列表列表中轻松绘制终端/控制台应用程序中的表格。支持多行行。
-
ASCII表 https://pypi.python.org/pypi/asciitable/0.8.0Asciitable 可以通过内置扩展读取器类读取和写入各种 ASCII 表格式。