Skip to content

PrettyTable 的使用

PrettyTable 是一个非常简单的 Python 库,可轻松的在终端命令行中输出漂亮的表格
项目地址: https://github.com/jazzband/prettytable

1. 安装

shell
pip install prettytable

2. 用法示例

  • field_names 属性用于设置表头,列表格式
  • add_row 方法用于添加一行数据,参数为列表
  • add_rows 方法用于一次性添加多行数据,参数为二维列表
python
from prettytable import PrettyTable


data = [
    {'姓名': '张三', '语文': 92, '数学': 67, '计算机': 30},
    {'姓名': '李四', '语文': 67, '数学': 100, '计算机': 20},
    {'姓名': '王五', '语文': 95, '数学': 59, '计算机': 88},
    # {'姓名': 'jack', '语文': 10, '数学': 18, '计算机': 100},
    # {'姓名': 'rose', '语文': 21, '数学': 17, '计算机': 99},
]


tb = PrettyTable()
# tb.field_names = list(data[0].keys())
tb.field_names = ['姓名', '语文', '数学', '计算机']
for row in data:
    tb.add_row(row.values())

tb.add_rows([
    ['jack', 10, 18, 100],
    ['rose', 21, 17, 99],
])

print(tb)

输出如下:

+------+------+------+--------+
| 姓名 | 语文 | 数学 | 计算机 |
+------+------+------+--------+
| 张三 |  92  |  67  |   30   |
| 李四 |  67  | 100  |   20   |
| 王五 |  95  |  59  |   88   |
| jack |  10  |  18  |  100   |
| rose |  21  |  17  |   99   |
+------+------+------+--------+

3. 其它功能介绍

上面代码作为常用就够了,下面简单列出它具备的一些功能,了解一下就行,具体使用方法可进其项目地址查看:

  • 输出指定列
python
print(tb.get_string(fields=['姓名', '语文']))
  • 按指定列排序输出
python
print(tb.get_string(sortby='语文'))
# 或者
tb.sortby = '语文'
  • 可设置每列的对齐方式
python
tb.align['语文'] = 'l'  # l左对齐,r右对齐,c居中
# 或者
tb.align = 'l'
  • 可设置表格的边框等样式
  • 可输出带颜色的表格
  • 可输出 markdown/json/html 等格式