首頁 > 後端開發 > Python教學 > python實用程式庫學習PrettyTable的詳細說明

python實用程式庫學習PrettyTable的詳細說明

高洛峰
發布: 2017-03-20 09:30:15
原創
4594 人瀏覽過

python實用程式庫:PrettyTable 學習

PrettyTable說明

PrettyTable 是python中的一個第三方函式庫,可用來產生美觀的ASCII格式的表格,十分實用。
以下為官方介紹:

A simple Python library for easily displaying tabular data in a visually appealing ASCII table format.
PrettyTable is a simple Python library designed to make it quick and easy to represent tabular data in visually appealing ASCII tables. It was inspired by the ASCII tables used in the PostSQL shell psql. alignment of columns (left or right justified or centred) and printing of “sub-tables” by specifying a row range.

#PrettyTable安裝

使用pip即可十分方便的安裝PrettyTable,如下:

pip install PrettyTable
登入後複製

PrettyTable使用範例

########## ###github上有PrettyTable的使用說明,連結如下:https://github.com/dprince/python-prettytable#########以下是具體的使用範例:###
import prettytable as pt## 按行添加数据tb = pt.PrettyTable()
tb.field_names = ["City name", "Area", "Population", "Annual Rainfall"]
tb.add_row(["Adelaide",1295, 1158259, 600.5])
tb.add_row(["Brisbane",5905, 1857594, 1146.4])
tb.add_row(["Darwin", 112, 120900, 1714.7])
tb.add_row(["Hobart", 1357, 205556,619.5])print(tb)
登入後複製
+-----------+------+------------+-----------------+
| City name | Area | Population | Annual Rainfall |
+-----------+------+------------+-----------------+
|  Adelaide | 1295 |  1158259   |      600.5      |
|  Brisbane | 5905 |  1857594   |      1146.4     |
|   Darwin  | 112  |   120900   |      1714.7     |
|   Hobart  | 1357 |   205556   |      619.5      |
+-----------+------+------------+-----------------+
登入後複製
## 按列添加数据tb.add_column('index',[1,2,3,4])print(tb)
登入後複製
+-----------+------+------------+-----------------+-------+
| City name | Area | Population | Annual Rainfall | index |
+-----------+------+------------+-----------------+-------+
|  Adelaide | 1295 |  1158259   |      600.5      |   1   |
|  Brisbane | 5905 |  1857594   |      1146.4     |   2   |
|   Darwin  | 112  |   120900   |      1714.7     |   3   |
|   Hobart  | 1357 |   205556   |      619.5      |   4   |
+-----------+------+------------+-----------------+-------+
登入後複製
## 使用不同的输出风格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 -----
| City name | Area | Population | Annual Rainfall |
|  Adelaide | 1295 |  1158259   |      600.5      |
|  Brisbane | 5905 |  1857594   |      1146.4     |
|   Darwin  | 112  |   120900   |      1714.7     |
|   Hobart  | 1357 |   205556   |      619.5      |
--- style:PLAIN_COLUMNS -----
City name        Area        Population        Annual Rainfall        
 Adelaide        1295         1158259               600.5             
 Brisbane        5905         1857594               1146.4            
  Darwin         112           120900               1714.7            
  Hobart         1357          205556               619.5             
--- style:MSWORD_FRIENDLY -----
@    Adelaide     1295     1158259     600.5 @
@    Brisbane     5905     1857594     1146.4@
@     Darwin      112       120900     1714.7@
@     Hobart      1357      205556     619.5 @
--- style:DEFAULT -----
+-----------+------+------------+-----------------+
| City name | Area | Population | Annual Rainfall |
+-----------+------+------------+-----------------+
|  Adelaide | 1295 |  1158259   |      600.5      |
|  Brisbane | 5905 |  1857594   |      1146.4     |
|   Darwin  | 112  |   120900   |      1714.7     |
|   Hobart  | 1357 |   205556   |      619.5      |
+-----------+------+------------+-----------------+
登入後複製
## 不打印,获取表格字符串s = tb.get_string()print(s)## 可以只获取指定列或行s = tb.get_string(fields=["City name", "Population"],start=1,end=4)print(s)
登入後複製
+-----------+------+------------+-----------------+
| City name | Area | Population | Annual Rainfall |
+-----------+------+------------+-----------------+
|  Adelaide | 1295 |  1158259   |      600.5      |
|  Brisbane | 5905 |  1857594   |      1146.4     |
|   Darwin  | 112  |   120900   |      1714.7     |
|   Hobart  | 1357 |   205556   |      619.5      |
+-----------+------+------------+-----------------+
+-----------+------------+
| City name | Population |
+-----------+------------+
|  Brisbane |  1857594   |
|   Darwin  |   120900   |
|   Hobart  |   205556   |
+-----------+------------+
登入後複製
## 自定义表格输出样式### 设定左对齐tb.align = 'l'### 设定数字输出格式tb.float_format = "2.2"### 设定边框连接符为'*"tb.junction_char = "*"### 设定排序方式tb.sortby = "City name"### 设定左侧不填充空白字符tb.left_padding_width = 0print(tb)
登入後複製
*----------*-----*-----------*----------------*
|City name |Area |Population |Annual Rainfall |
*----------*-----*-----------*----------------*
|Adelaide  |1295 |1158259    |600.50          |
|Brisbane  |5905 |1857594    |1146.40         |
|Darwin    |112  |120900     |1714.70         |
|Hobart    |1357 |205556     |619.50          |
*----------*-----*-----------*----------------*
登入後複製
rrree

以上是python實用程式庫學習PrettyTable的詳細說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板