python模块PrettyTable

python模块——PrettyTable

 

 

一. 简介

  Python通过prettytable模块将输出内容如表格方式整齐输出,可用来生成美观的ASCII格式的表格,十分实用。

  python本身并不内置,需要独立安装该第三方库。

 

 

二、使用

 

简单使用

1
2
3
4
5
6
7
8
import prettytable as pt
 
## 按行添加数据
tb = pt.PrettyTable()
tb.field_names = ["名字","投票人数","类型","产地","上映时间","时长","年代","评分"]
tb.add_row(["美丽人生",42995,"剧情/喜剧/爱情","意大利","1997-12-20",116,1997,9.5])
tb.add_row(["肖申克的救赎",692795,"剧情/犯罪","美国","1994-09-10",142,1994,9.6])
print(tb)

 

 

1
2
3
4
5
6
+--------------+----------+----------------+--------+------------+------+------+------+
|     名字     | 投票人数 |      类型      |  产地  |  上映时间  | 时长 | 年代 | 评分 |
+--------------+----------+----------------+--------+------------+------+------+------+
|   美丽人生   |  42995   | 剧情/喜剧/爱情 | 意大利 | 1997-12-20 | 116  | 1997 | 9.5  |
| 肖申克的救赎 |  692795  |   剧情/犯罪    |  美国  | 1994-09-10 | 142  | 1994 | 9.6  |
+--------------+----------+----------------+--------+------------+------+------+------+

  

 

1
2
3
4
5
6
7
8
9
import prettytable as pt
 
## 按列添加数据
tb = pt.PrettyTable()
tb.field_names = ["名字","投票人数","类型","产地","上映时间","时长","年代","评分"]
tb.add_row(["美丽人生",42995,"剧情/喜剧/爱情","意大利","1997-12-20",116,1997,9.5])
tb.add_row(["肖申克的救赎",692795,"剧情/犯罪","美国","1994-09-10",142,1994,9.6])
tb.add_column('index',[1,2])
print(tb)

 

1
2
3
4
5
6
+--------------+----------+----------------+--------+------------+------+------+------+-------+
|     名字     | 投票人数 |      类型      |  产地  |  上映时间  | 时长 | 年代 | 评分 | index |
+--------------+----------+----------------+--------+------------+------+------+------+-------+
|   美丽人生   |  42995   | 剧情/喜剧/爱情 | 意大利 | 1997-12-20 | 116  | 1997 | 9.5  |   1   |
| 肖申克的救赎 |  692795  |   剧情/犯罪    |  美国  | 1994-09-10 | 142  | 1994 | 9.6  |   2   |
+--------------+----------+----------------+--------+------------+------+------+------+-------+

  

 

切换输出风格

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import prettytable as pt
 
## 按列添加数据
tb = pt.PrettyTable()
tb.field_names = ["名字","投票人数","类型","产地","上映时间","时长","年代","评分"]
tb.add_row(["美丽人生",42995,"剧情/喜剧/爱情","意大利","1997-12-20",116,1997,9.5])
tb.add_row(["肖申克的救赎",692795,"剧情/犯罪","美国","1994-09-10",142,1994,9.6])
tb.add_column('index',[1,2])
## 使用不同的输出风格
tb.set_style(pt.MSWORD_FRIENDLY)
print('--- style:MSWORD_FRIENDLY -----')
print(tb)
 
tb.set_style(pt.PLAIN_COLUMNS)
print('--- style:PLAIN_COLUMNS -----')
print(tb)
 
## 随机风格,每次不同
tb.set_style(pt.RANDOM)
print('--- style:MSWORD_FRIENDLY -----')
print(tb)
 
tb.set_style(pt.DEFAULT)
print('--- style:DEFAULT -----')
print(tb)

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
--- style:MSWORD_FRIENDLY -----
|     名字     | 投票人数 |      类型      |  产地  |  上映时间  | 时长 | 年代 | 评分 | index |
|   美丽人生   |  42995   | 剧情/喜剧/爱情 | 意大利 | 1997-12-20 | 116  | 1997 | 9.5  |   1   |
| 肖申克的救赎 |  692795  |   剧情/犯罪    |  美国  | 1994-09-10 | 142  | 1994 | 9.6  |   2   |
--- style:PLAIN_COLUMNS -----
    名字            投票人数             类型              产地          上映时间         时长        年代        评分        index       
  美丽人生           42995          剧情/喜剧/爱情        意大利        1997-12-20        116         1997        9.5           1         
肖申克的救赎         692795           剧情/犯罪            美国         1994-09-10        142         1994        9.6           2         
--- style:MSWORD_FRIENDLY -----
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
        美丽人生            42995           剧情/喜剧/爱情          意大利          1997-12-20          116          1997          9.5          1    
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
      肖申克的救赎          692795            剧情/犯罪              美国           1994-09-10          142          1994          9.6          2    
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
--- style:DEFAULT -----
+--------------+----------+----------------+--------+------------+------+------+------+-------+
|     名字     | 投票人数 |      类型      |  产地  |  上映时间  | 时长 | 年代 | 评分 | index |
+--------------+----------+----------------+--------+------------+------+------+------+-------+
|   美丽人生   |  42995   | 剧情/喜剧/爱情 | 意大利 | 1997-12-20 | 116  | 1997 | 9.5  |   1   |
| 肖申克的救赎 |  692795  |   剧情/犯罪    |  美国  | 1994-09-10 | 142  | 1994 | 9.6  |   2   |
+--------------+----------+----------------+--------+------------+------+------+------+-------+

  

 

 

自定义输出格式

import prettytable as pt

## 按列添加数据
tb = pt.PrettyTable()
tb.field_names = ["名字","投票人数","类型","产地","上映时间","时长","年代","评分"]
tb.add_row(["美丽人生",42995,"剧情/喜剧/爱情","意大利","1997-12-20",116,1997,9.5])
tb.add_row(["肖申克的救赎",692795,"剧情/犯罪","美国","1994-09-10",142,1994,9.6])
tb.add_column('index',[1,2])
## 自定义表格输出样式
### 设定对齐方式
# ["l","c","r"] l:左对齐,c:中间对齐,r:右对齐
tb.align='c'
### 设定数字输出格式
tb.float_format = '1'
### 设定边框连接符为'*"
tb.junction_char = "*"
### 设定排序方式
tb.sortby = "投票人数"
### 设定左侧不填充空白字符
tb.left_padding_width = 0
### 填充宽度
tb.padding_width= 5
print(tb)

  

 

1
2
3
4
5
6
*-----------------*-------------*-------------------*-----------*---------------*---------*---------*-------------*----------*
|    名字         |投票人数     |     类型          | 产地      | 上映时间      |时长     |年代     |  评分       |index     |
*-----------------*-------------*-------------------*-----------*---------------*---------*---------*-------------*----------*
|  美丽人生       | 42995       |剧情/喜剧/爱情     |意大利     |1997-12-20     |116      |1997     |9.500000     1       |
|肖申克的救赎     | 692795      |  剧情/犯罪        | 美国      |1994-09-10     |142      |1994     |9.600000     2       |
*-----------------*-------------*-------------------*-----------*---------------*---------*---------*-------------*----------*

  

 

 

获取特定内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import prettytable as pt
 
## 按列添加数据
tb = pt.PrettyTable()
tb.field_names = ["名字","投票人数","类型","产地","上映时间","时长","年代","评分"]
tb.add_row(["美丽人生",42995,"剧情/喜剧/爱情","意大利","1997-12-20",116,1997,9.5])
tb.add_row(["肖申克的救赎",692795,"剧情/犯罪","美国","1994-09-10",142,1994,9.6])
tb.add_column('index',[1,2])
## 不打印,获取表格字符串
s = tb.get_string()
print(s)
 
## 可以只获取指定列或行
##这里只获取'名字'与'时长'这两列,从第一行到第二行
s = tb.get_string(fields=["名字", '时长'],start=1,end=2)
print(s)

  

1
2
3
4
5
6
7
8
9
10
11
+--------------+----------+----------------+--------+------------+------+------+------+-------+
|     名字     | 投票人数 |      类型      |  产地  |  上映时间  | 时长 | 年代 | 评分 | index |
+--------------+----------+----------------+--------+------------+------+------+------+-------+
|   美丽人生   |  42995   | 剧情/喜剧/爱情 | 意大利 | 1997-12-20 | 116  | 1997 | 9.5  |   1   |
| 肖申克的救赎 |  692795  |   剧情/犯罪    |  美国  | 1994-09-10 | 142  | 1994 | 9.6  |   2   |
+--------------+----------+----------------+--------+------------+------+------+------+-------+
+--------------+------+
|     名字     | 时长 |
+--------------+------+
| 肖申克的救赎 | 142  |
+--------------+------+

  

 

 

 

posted @   -零  阅读(1730)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示