python模塊PrettyTable

python模塊——PrettyTable

 

 

一. 簡介

  Python經過prettytable模塊將輸出內容如表格方式整齊輸出,可用來生成美觀的ASCII格式的表格,十分實用。python

  python自己並不內置,須要獨立安裝該第三方庫。ide

 

 

2、使用

 

簡單使用orm

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)

 

 

+--------------+----------+----------------+--------+------------+------+------+------+
|     名字     | 投票人數 |      類型      |  產地  |  上映時間  | 時長 | 年代 | 評分 |
+--------------+----------+----------------+--------+------------+------+------+------+
|   美麗人生   |  42995   | 劇情/喜劇/愛情 | 意大利 | 1997-12-20 | 116  | 1997 | 9.5  |
| 肖申克的救贖 |  692795  |   劇情/犯罪    |  美國  | 1994-09-10 | 142  | 1994 | 9.6  |
+--------------+----------+----------------+--------+------------+------+------+------+

  

 

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)

 

+--------------+----------+----------------+--------+------------+------+------+------+-------+
|     名字     | 投票人數 |      類型      |  產地  |  上映時間  | 時長 | 年代 | 評分 | 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])
## 使用不一樣的輸出風格
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)

 

 

--- 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)

  

 

*-----------------*-------------*-------------------*-----------*---------------*---------*---------*-------------*----------*
|    名字         |投票人數     |     類型          | 產地      | 上映時間      |時長     |年代     |  評分       |index     |
*-----------------*-------------*-------------------*-----------*---------------*---------*---------*-------------*----------*
|  美麗人生       | 42995       |劇情/喜劇/愛情     |意大利     |1997-12-20     |116      |1997     |9.500000     |  1       |
|肖申克的救贖     | 692795      |  劇情/犯罪        | 美國      |1994-09-10     |142      |1994     |9.600000     |  2       |
*-----------------*-------------*-------------------*-----------*---------------*---------*---------*-------------*----------*

  

 

 

獲取特定內容get

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)

  

+--------------+----------+----------------+--------+------------+------+------+------+-------+
|     名字     | 投票人數 |      類型      |  產地  |  上映時間  | 時長 | 年代 | 評分 | index |
+--------------+----------+----------------+--------+------------+------+------+------+-------+
|   美麗人生   |  42995   | 劇情/喜劇/愛情 | 意大利 | 1997-12-20 | 116  | 1997 | 9.5  |   1   |
| 肖申克的救贖 |  692795  |   劇情/犯罪    |  美國  | 1994-09-10 | 142  | 1994 | 9.6  |   2   |
+--------------+----------+----------------+--------+------------+------+------+------+-------+
+--------------+------+
|     名字     | 時長 |
+--------------+------+
| 肖申克的救贖 | 142  |
+--------------+------+
相關文章
相關標籤/搜索