python怎么做表格_Python怎么做出漂亮的表格?

本文介绍了如何使用Python的prettytable库创建更漂亮的表格,包括打印HTML格式、选择性输出、表格切片、排序以及样式设置等方法。通过设置对齐方式、边框样式和内置或自定义样式,可以实现表格的美化。此外,还展示了如何通过print函数和get_string方法控制输出的内容和格式。
摘要由CSDN通过智能技术生成

上一节内容我们教给大家如何用python做出表格,但是后来同学们反映我们做出的表格一点也不漂亮呀,问我是不是还有技巧没有教给大家,果然,大家这么聪明还真瞒不住。想要做出更漂亮的表格还要会这些,一起来看看吧!怎么用python做出漂亮的表格?

接着上一篇讲:正如支持多种输入一样,表格的输出也支持多种格式,我们在上面中的例子中已经使用了print的方式输出,这是一种常用的输出方式。

A、print

直接通过print打印出表格。这种方式打印出的表格会带边框。

B、输出HTML格式的表格

print(table.get_html_string())可以打印出html标签的表格。

在上面的例子中,使用print(table.get_html_string())会打印出如下结果:

编号

云编号

名称

IP地址

1

server01

服务器01

172.16.0.1

2

server02

服务器02

172.16.0.2

选择性输出

prettytable在创建表格之后,你依然可以有选择的输出某些特定的行.

A、输出指定的列

print table.get_string(fields=["编号", "IP地址"])可以输出指定的列

B、输出前两行

通过print(table.get_string(start = 0, end =

2))的可以打印出指定的列,当然start和end参数让我可以自由控制显示区间。当然区间中包含start不包含end,是不是很熟悉这样的用法?

根据输出指定行列的功能,我们可以同时指定行和列来输出,这里就不说明了。

C、将表格切片

从上面的输出区间,我们做一个大胆的假设,既然区间包含start不包含end这种规则和切片的一样,我们可以不可通过切片来生成一个新的表格然后将其打印。

事实上是可以的。

new_table = table[0:2]

print(new_table)

如上代码段中,我们就可以打印出0到1行共2行的表格,python的切片功能异常强大,配合切片我们可以自由的输入任意的行。

D、输出排序

有时候我们需要对输出的表格进行排序,使用print table.get_string(sortby="编号",

reversesort=True)就可以对表格进行排序,其中reversesort指定了是否倒序排序,默认为False,即默认正序列排序。

sortby指定了排序的字段。

表格的样式

A、内置样式

通过set_style()可以设置表格样式,prettytable内置了多种的样式个人觉得MSWORD_FRIENDLY,PLAIN_COLUMNS,DEFAULT

这三种样式看起来比较清爽,在终端下显示表格本来看起就很累,再加上一下花里胡哨的东西看起来就更累。

除了以上推荐的三种样式以外,还有一种样式不得不说,那就是RANDOM,这是一种随机的样式,每一次打印都会在内置的样式中随机选择一个,比较好玩。

具体内置了几种样式,请各位参考官网完整自己尝试输出看看。

#!/usr/bin/python

#**coding:utf-8**

import sys

from prettytable import PrettyTable

from prettytable import MSWORD_FRIENDLY

from prettytable import PLAIN_COLUMNS

from prettytable import RANDOM

from prettytable import DEFAULT

reload(sys)

sys.setdefaultencoding('utf8')

table = PrettyTable(['编号','云编号','名称','IP地址'])

table.add_row(['1','server01','服务器01','172.16.0.1'])

table.add_row(['3','server03','服务器03','172.16.0.3'])

table.add_row(['2','server02','服务器02','172.16.0.2'])

table.add_row(['9','server09','服务器09','172.16.0.9'])

table.add_row(['4','server04','服务器04','172.16.0.4'])

table.add_row(['5','server05','服务器05','172.16.0.5'])

table.add_row(['6','server06','服务器06','172.16.0.6'])

table.add_row(['8','server08','服务器08','172.16.0.8'])

table.add_row(['7','server07','服务器07','172.16.0.7'])

table.set_style(DEFAULT)

print(table)

B、自定义样式

除了内置的样式以外,PrettyTable也提供了用户自定义,例如对齐方式,数字输出格式,边框连接符等等

C、设置对齐方式

align提供了用户设置对齐的方式,值有l,r,c方便代表左对齐,右对齐和居中 如果不设置,默认居中对齐。

D、控制边框样式

在PrettyTable中,边框由三个部分组成,横边框,竖边框,和边框连接符(横竖交叉的链接符号)

如下示例:

#!/usr/bin/python

#**coding:utf-8**

import sys

from prettytable import PrettyTable

reload(sys)

sys.setdefaultencoding('utf8')

table = PrettyTable(['编号','云编号','名称','IP地址'])

table.add_row(['1','server01','服务器01','172.16.0.1'])

table.add_row(['3','server03','服务器03','172.16.0.3'])

table.add_row(['2','server02','服务器02','172.16.0.2'])

table.add_row(['9','server09','服务器09','172.16.0.9'])

table.add_row(['4','server04','服务器04','172.16.0.4'])

table.add_row(['5','server05','服务器05','172.16.0.5'])

table.add_row(['6','server06','服务器06','172.16.0.6'])

table.add_row(['8','server08','服务器08','172.16.0.8'])

table.add_row(['7','server07','服务器07','172.16.0.7'])

table.align[1] = 'l'

table.border = True

table.junction_char='$'

table.horizontal_char = '+'

table.vertical_char = '%'

print(table)

table.border`控制是否显示边框,默认是`True

table.junction_char控制边框连接符

table.horizontal_char控制横边框符号

table.vertical_char控制竖边框符号

上例运行如下:

$++++++$++++++++++$++++++++++$++++++++++++$

% 编号 % 云编号 % 名称 % IP地址 %

$++++++$++++++++++$++++++++++$++++++++++++$

% 1 % server01 % 服务器01 % 172.16.0.1 %

% 3 % server03 % 服务器03 % 172.16.0.3 %

% 2 % server02 % 服务器02 % 172.16.0.2 %

% 9 % server09 % 服务器09 % 172.16.0.9 %

% 4 % server04 % 服务器04 % 172.16.0.4 %

% 5 % server05 % 服务器05 % 172.16.0.5 %

% 6 % server06 % 服务器06 % 172.16.0.6 %

% 8 % server08 % 服务器08 % 172.16.0.8 %

% 7 % server07 % 服务器07 % 172.16.0.7 %

$++++++$++++++++++$++++++++++$++++++++++++$

最后,简单介绍了表格常用的一些样式设置,这样可以让表格更加美观,当然还有很多其他技巧,这些就要同学们慢慢摸索了,相信你们也会做出更加漂亮的表格。

达内每年输送10万+人才,18年来帮助80万学员高薪就业;协助16万家企业解决人才需求。拥有完善的就业保障体系,116万家招聘雇主合作企业。每天产生数千个招聘岗位,提供更多就业机会给到达内学员。找Python培训,选达内就对了!

版权声明:转载文章来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值