文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python可以美化表格数据输出结果的工具是什么

2023-07-02 14:38

关注

本文小编为大家详细介绍“python可以美化表格数据输出结果的工具是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“python可以美化表格数据输出结果的工具是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

首先我们看一个案例,定义一个数组形式的表格数据:

[dechin@dechin-manjaro table]$ ipythonPython 3.8.5 (default, Sep  4 2020, 07:30:14) Type 'copyright', 'credits' or 'license' for more informationIPython 7.19.0 -- An enhanced Interactive Python. Type '?' for help.In [1]: table=[('a',1,2,3),('b',2,3,4)]In [2]: print(table)[('a', 1, 2, 3), ('b', 2, 3, 4)]

当我们直接打印这个表格数据的时候,发现效果非常的难看。虽然我们可以从这个表格中获取到同样的信息,但是这种数据展示的方法对于我们直接从打印输出中获取数据是非常不利的。

1.使用tabulate美化表格输出

首先介绍一个工具tabulate,可以直接打印数组格式的表格数据,并且有多种输出格式可选。安装方法同样可以用pip来进行管理:

[dechin@dechin-manjaro table]$ python3 -m pip install tabulateRequirement already satisfied: tabulate in /home/dechin/anaconda3/lib/python3.8/site-packages (0.8.9)

安装很容易,也没有其他依赖。

接下来我们用ipython来展示一些基本用法:

[dechin@dechin-manjaro table]$ ipythonPython 3.8.5 (default, Sep  4 2020, 07:30:14) Type 'copyright', 'credits' or 'license' for more informationIPython 7.19.0 -- An enhanced Interactive Python. Type '?' for help.In [1]: from tabulate import tabulateIn [2]: import numpy as npIn [3]: header=['index']+list(range(4)) # 表头的定义In [4]: headerOut[4]: ['index', 0, 1, 2, 3]In [8]: table=[('Alice',1,2,3,4),('Bob',2,3,4,5)] # 表格内容的定义In [9]: tableOut[9]: [('Alice', 1, 2, 3, 4), ('Bob', 2, 3, 4, 5)]In [11]: print(tabulate(table,headers=header,tablefmt='grid')) # 用grid的格式打印表格内容+---------+-----+-----+-----+-----+| index   |   0 |   1 |   2 |   3 |+=========+=====+=====+=====+=====+| Alice   |   1 |   2 |   3 |   4 |+---------+-----+-----+-----+-----+| Bob     |   2 |   3 |   4 |   5 |+---------+-----+-----+-----+-----+In [12]: print(tabulate(table,headers=header,tablefmt='fancy_grid')) # 用fancy_grid的格式打印╒═════════╤═════╤═════╤═════╤═════╕│ index   │   0 │   1 │   2 │   3 │╞═════════╪═════╪═════╪═════╪═════╡│ Alice   │   1 │   2 │   3 │   4 │├─────────┼─────┼─────┼─────┼─────┤│ Bob     │   2 │   3 │   4 │   5 │╘═════════╧═════╧═════╧═════╧═════╛

在这个案例中,我们分别产生了数组格式的表头和表格内容,然后用tabulate进行封装之后再打印出来。由于tabulate支持多种格式的输出,这里我们展示的仅有grid和fancy_grid两种个人比较喜欢的格式

其他类型的格式还有:

"plain""simple""github""grid""fancy_grid""pipe""orgtbl""jira""presto""psql""rst""mediawiki""moinmoin""youtrack""html""latex""latex_raw""latex_booktabs""textile"

2.使用prettytable美化输出

类似于tabulate的,prettytable的主要目的也是规范化的美化表格数据的输出,但是在使用方法上略有差异,在不同的场景下可以使用不同的方案。

这里我们先看一下prettytable的安装,同样可以使用pip来进行管理:

[dechin@dechin-manjaro table]$ python3 -m pip install prettytableCollecting prettytable  Downloading prettytable-2.1.0-py3-none-any.whl (22 kB)Requirement already satisfied: wcwidth in /home/dechin/anaconda3/lib/python3.8/site-packages (from prettytable) (0.2.5)Installing collected packages: prettytableSuccessfully installed prettytable-2.1.0

安装完成后我们用一个py文件的示例来展示其用法:

from prettytable import PrettyTabletb = PrettyTable() # 生成表格对象tb.field_names = ['Index', 0, 1, 2, 3] # 定义表头tb.add_row(['Alice',1,2,3,4]) # 添加一行,列是columntb.add_row(['Bob',2,3,4,5])print (tb) # 打印输出

代码的执行结果如下:

[dechin@dechin-manjaro table]$ python3 pt_test.py +-------+---+---+---+---+| Index | 0 | 1 | 2 | 3 |+-------+---+---+---+---+| Alice | 1 | 2 | 3 | 4 ||  Bob  | 2 | 3 | 4 | 5 |+-------+---+---+---+---+

由于使用的案例跟上面介绍的tabulate是一样的,所以输出结果也类似,相当于多了一种输出格式。但是除了输出格式之外,我们发现prettytable可以很好的利用行和列的添加的形式来进行表格操作,操作习惯更接近于数据库的操作形式,因此对于经常使用数据库的人而言,prettytable可能是一种更好的表格数据输出解决方案。

读到这里,这篇“python可以美化表格数据输出结果的工具是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯