python实用例子_Python实用库 PrettyTable 学习笔记

本文实例讲述了Python实用库 PrettyTable。分享给大家供大家参考,具体如下:

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 = 0

print(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 |

*----------*-----*-----------*----------------*

不显示边框

tb.border = 0

print(tb)

修改边框分隔符

tb.set_style(pt.DEFAULT)

tb.horizontal_char = '+'

print(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

+++++++++++++++++++++++++++++++++++++++++++++++++++

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

+++++++++++++++++++++++++++++++++++++++++++++++++++

prettytable也支持输出HTML代码

s = tb.get_html_string()

print(s)

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

使用copy方法复制对象

tb.set_style(pt.DEFAULT)

tb.horizontal_char = '.'

tb2 = tb.copy()

tb.align = 'l'

tb2.align = 'r'

print(tb)

print(tb2)

直接赋值,得到的是索引

tb.horizontal_char = '-'

tb.aliign = 'l'

tb3 = tb

tb3.align = 'r'

print(tb)

print(tb3)

+...........+......+............+.................+

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

+...........+......+............+.................+

+...........+......+............+.................+

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

+...........+......+............+.................+

+-----------+------+------------+-----------------+

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

+-----------+------+------------+-----------------+

+-----------+------+------------+-----------------+

| 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相关内容感兴趣的读者可查看本站专题:《Python操作Excel表格技巧总结》、《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

本文标题: Python实用库 PrettyTable 学习笔记

本文地址: http://www.cppcns.com/jiaoben/python/267589.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值