python 利用 PrettyTable 美化表格

 更新时间:2022年04月02日 11:29:37   作者:autofelix  
这篇文章主要介绍了python 利用 PrettyTable 美化表格,首先按行设置数据展开相关内容,需要的小伙伴可以参考一下

一、安装

pip install PrettyTable

二、按行设置数据

import prettytable as pt

# 按行添加数据
tb = pt.PrettyTable()
tb.field_names = ['name', 'age', 'height', 'weight']
tb.add_row(['autofelix', 25, 174, 65])
tb.add_row(['大神', 23, 164, 55])
tb.add_row(['飞兔小哥', 27, 184, 69.5])

print(tb)

# +-----------+-----+--------+--------+
# | name | age | height | weight |
# +-----------+-----+--------+--------+
# | autofelix | 25 | 174 | 65 |
# | 大神 | 23 | 164 | 55 |
# | 飞兔小哥 | 27 | 184 | 69.5 |
# +-----------+-----+--------+--------+

三、按列添加

import prettytable as pt

# 按行添加数据
tb = pt.PrettyTable()
tb.field_names = ['name', 'age', 'height', 'weight']
tb.add_row(['autofelix', 25, 174, 65])
tb.add_row(['大神', 23, 164, 55])
tb.add_row(['飞兔小哥', 27, 184, 69.5])
# 按列添加数据
tb.add_column('sex',['男', '女', '男'])

print(tb)

# +-----------+-----+--------+--------+-----+
# | name | age | height | weight | sex |
# +-----------+-----+--------+--------+-----+
# | autofelix | 25 | 174 | 65 | 男 |
# | 大神 | 23 | 164 | 55 | 女 |
# | 飞兔小哥 | 27 | 184 | 69.5 | 男 |
# +-----------+-----+--------+--------+-----+

四、输出风格

  • MSWORD_FRIENDLY:MSWORD_FRIENDLY输出风格
  • PLAIN_COLUMNS:PLAIN_COLUMNS输出风格
  • RANDOM:每次随机输出风格
  • DEFAULT:默认输出风格
import prettytable as pt

# 按行添加数据
tb = pt.PrettyTable()
tb.field_names = ['name', 'age', 'height', 'weight']
tb.add_row(['autofelix', 25, 174, 65])
tb.add_row(['大神', 23, 164, 55])
tb.add_row(['飞兔小哥', 27, 184, 69.5])
# 风格
tb.set_style(pt.MSWORD_FRIENDLY)

print(tb)

# | name | age | height | weight |
# | autofelix | 25 | 174 | 65 |
# | 大神 | 23 | 164 | 55 |
# | 飞兔小哥 | 27 | 184 | 69.5 |

五、获取字符串

import prettytable as pt

# 按行添加数据
tb = pt.PrettyTable()
tb.field_names = ['name', 'age', 'height', 'weight']
tb.add_row(['autofelix', 25, 174, 65])
tb.add_row(['大神', 23, 164, 55])
tb.add_row(['飞兔小哥', 27, 184, 69.5])

# 不打印,获取表格字符串
s1 = tb.get_string()
print(s1)

# +-----------+-----+--------+--------+
# | name | age | height | weight |
# +-----------+-----+--------+--------+
# | autofelix | 25 | 174 | 65 |
# | 大神 | 23 | 164 | 55 |
# | 飞兔小哥 | 27 | 184 | 69.5 |
# +-----------+-----+--------+--------+

# 或者可以只获取指定列或行
s2 = tb.get_string(fields=['name', 'age'], start=1, end=4)
print(s2)

# +----------+-----+
# | name | age |
# +----------+-----+
# | 大神 | 23 |
# | 飞兔小哥 | 27 |
# +----------+-----+

六、表格样式设置

import prettytable as pt

# 按行添加数据
tb = pt.PrettyTable()
tb.field_names = ['name', 'age', 'height', 'weight']
tb.add_row(['autofelix', 25, 174, 65])
tb.add_row(['大神', 23, 164, 55])
tb.add_row(['飞兔小哥', 27, 184, 69.5])

# 设定左对齐
tb.align = 'l'
# 设定数字输出格式
tb.float_format = '2.2'
# 设定边框连接符为'*"
tb.junction_char = '*'
# 设定排序方式
tb.sortby = 'age'
# 设定左侧不填充空白字符
tb.left_padding_width = 0
# 不显示边框
# tb.border = 0
# 修改边框分隔符
tb.horizontal_char = '+'

print(tb)

# *++++++++++*++++*+++++++*+++++++*
# |name |age |height |weight |
# *++++++++++*++++*+++++++*+++++++*
# |大神 |23 |164 |55 |
# |autofelix |25 |174 |65 |
# |飞兔小哥 |27 |184 |69.50 |
# *++++++++++*++++*+++++++*+++++++*

七、输出成HTML

import prettytable as pt

# 按行添加数据
tb = pt.PrettyTable()
tb.field_names = ['name', 'age', 'height', 'weight']
tb.add_row(['autofelix', 25, 174, 65])
tb.add_row(['大神', 23, 164, 55])
tb.add_row(['飞兔小哥', 27, 184, 69.5])

# 输出HTML代码
s = tb.get_html_string()
print(s)

# <table>
# <thead>
# <tr>
# <th>name</th>
# <th>age</th>
# <th>height</th>
# <th>weight</th>
# </tr>
# </thead>
# <tbody>
# <tr>
# <td>autofelix</td>
# <td>25</td>
# <td>174</td>
# <td>65</td>
# </tr>
# <tr>
# <td>大神</td>
# <td>23</td>
# <td>164</td>
# <td>55</td>
# </tr>
# <tr>
# <td>飞兔小哥</td>
# <td>27</td>
# <td>184</td>
# <td>69.5</td>
# </tr>
# </tbody>
# </table>

八、复制

import prettytable as pt

# 按行添加数据
tb = pt.PrettyTable()
tb.field_names = ['name', 'age', 'height', 'weight']
tb.add_row(['autofelix', 25, 174, 65])
tb.add_row(['大神', 23, 164, 55])
tb.add_row(['飞兔小哥', 27, 184, 69.5])

tb.horizontal_char = '.'
tb2 = tb.copy()
tb.align = 'l'
tb2.align = 'r'
print(tb)
print(tb2)

# +...........+.....+........+........+
# | name | age | height | weight |
# +...........+.....+........+........+
# | autofelix | 25 | 174 | 65 |
# | 大神 | 23 | 164 | 55 |
# | 飞兔小哥 | 27 | 184 | 69.5 |
# +...........+.....+........+........+

# +...........+.....+........+........+
# | name | age | height | weight |
# +...........+.....+........+........+
# | autofelix | 25 | 174 | 65 |
# | 大神 | 23 | 164 | 55 |
# | 飞兔小哥 | 27 | 184 | 69.5 |
# +...........+.....+........+........+

到此这篇关于python 利用 PrettyTable 美化表格的文章就介绍到这了,更多相关PrettyTable 美化表格内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python中利用Future对象异步返回结果示例代码

    python中利用Future对象异步返回结果示例代码

    future是一种对象,表示异步执行的操作。下面这篇文章主要给大家介绍了关于python中利用Future对象异步返回结果的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • python制作罗盘时钟效果

    python制作罗盘时钟效果

    这篇文章主要介绍了python制作罗盘时钟效果,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-04-04
  • pymilvus offset参数不生效解决示例

    pymilvus offset参数不生效解决示例

    这篇文章主要为大家介绍了pymilvus offset参数不生效解决示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • numpy下的flatten()函数用法详解

    numpy下的flatten()函数用法详解

    这篇文章主要介绍了numpy下的flatten()函数用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • python实现的防DDoS脚本

    python实现的防DDoS脚本

    实现原理是,查询netstat的连接数,同IP超过一定连接的用iptables封禁一定时间,自动封禁,自动解封。
    2011-02-02
  • 关于python与opc ua Expert endpoint连接的问题

    关于python与opc ua Expert endpoint连接的问题

    这篇文章主要介绍了关于python与opc ua Expert endpoint连接的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python包资源下载路径报404解决方案

    Python包资源下载路径报404解决方案

    这篇文章主要介绍了Python包资源下载路径报404解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Python解析json时提示“string indices must be integers”问题解决方法

    Python解析json时提示“string indices must be integers”问题解决方法

    这篇文章主要介绍了Python解析json时提示“string indices must be integers”问题解决方法,结合实例形式分析了Python解析json字符串操作规范与相关使用技巧,需要的朋友可以参考下
    2019-07-07
  • Python基于回溯法子集树模板解决取物搭配问题实例

    Python基于回溯法子集树模板解决取物搭配问题实例

    这篇文章主要介绍了Python基于回溯法子集树模板解决取物搭配问题,简单描述了搭配问题并结合实例形式分析了Python使用回溯法子集树模板解决取物搭配问题的具体步骤与相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • 使用Python的xlwings操作Excel的属性和方法

    使用Python的xlwings操作Excel的属性和方法

    这篇文章主要介绍了使用Python的xlwings操作Excel的属性和方法,xlwings 是 Python 操作 Excel 的库之一,主要作为两门语言的交互工具,是python 操作excel比较成熟、杰出的库,调用简单方便,而且功能强大,需要的朋友可以参考下
    2023-07-07

最新评论