Python|专业输出文本化表格的Python库,太漂亮了!( 二 )

table并不是PrettyTable对象 , 而是包含单个PrettyTable对象的列表 , 它通过解析html而来 , 所以无法直接打印table , 而需要打印table[0

5. 表格输出格式正如支持多种输入一样 , 表格的输出也支持多种格式 , 我们在上面中的例子中已经使用了print的方式输出 , 这是一种常用的输出方式 。
print直接通过print打印出表格 。 这种方式打印出的表格会带边框 。
输出HTML格式的表格print(table.get_html_string())可以打印出html标签的表格 。
在上面的例子中 , 使用print(table.get_html_string())会打印出如下结果:


6. 选择性输出prettytable在创建表格之后 , 你依然可以有选择的输出某些特定的行.
输出指定的列print table.get_string(fields=[\"编号\" \"IP地址\"
)
可以输出指定的列
输出前两行通过print(table.get_string(start = 0 end = 2))的可以打印出指定的列 , 当然startend参数让我可以自由控制显示区间 。 当然区间中包含start不包含end , 是不是很熟悉这样的用法?
将表格切片从上面的输出区间 , 我们做一个大胆的假设 , 既然区间包含start不包含end这种规则和切片的一样 , 我们可以不可通过切片来生成一个新的表格然后将其打印 。
事实上是可以的 。


如上代码段中 , 我们就可以打印出0到1行共2行的表格 , python的切片功能异常强大 , 配合切片我们可以自由的输入任意的行 。
输出排序有时候我们需要对输出的表格进行排序 , 使用print table.get_string(sortby=\"编号\" reversesort=True)就可以对表格进行排序 , 其中reversesort指定了是否倒序排序默认为False , 即默认正序列排序 。
sortby指定了排序的字段 。
7. 表格的样式内置样式通过set_style()可以设置表格样式 , prettytable内置了多种的样式个人觉得MSWORD_FRIENDLYPLAIN_COLUMNSDEFAULT这三种样式看起来比较清爽 , 在终端下显示表格本来看起就很累 , 再加上一下花里胡哨的东西看起来就更累 。
除了以上推荐的三种样式以外 , 还有一种样式不得不说 , 那就是RANDOM , 这是一种随机的样式 , 每一次打印都会在内置的样式中随机选择一个 , 比较好玩 。
具体内置了几种样式 , 请各位参考官网完整自己尝试输出看看 。


自定义样式除了内置的样式以外 , PrettyTable也提供了用户自定义 , 例如对齐方式 , 数字输出格式 , 边框连接符等等
设置对齐方式align提供了用户设置对齐的方式 , 值有lrc方便代表左对齐 , 右对齐和居中 如果不设置 , 默认居中对齐 。
控制边框样式在PrettyTable中 , 边框由三个部分组成 , 横边框 , 竖边框 , 和边框连接符(横竖交叉的链接符号)
如下示例:
table.junction_char控制边框连接符
table.horizontal_char控制横边框符号
table.vertical_char控制竖边框符号
上例运行如下: