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.
使用pip即可十分方便的安裝PrettyTable,如下:
pip install 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 | *----------*-----*-----------*----------------*
以上是python實用程式庫學習PrettyTable的詳細說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!