Python|专业输出文本化表格的Python库,太漂亮了!( 二 )
从sql查询值添加从数据库查询出来的数据可以直接导入到表格打印 , 下面的例子使用了sqlite3
如果使用的是mysql也是一样的 , 只要能查询到数据就能导入到表格中 。
运行结果如下:
从HTML导入数据支持从html的表格中导入 , 请看下面这个例子:
运行结果如下:
如上示例中 , 我们可以导入html的表格 , 但是不一样的地方是print
语句 , 使用html表格导入数据的时候print的必须是列表中的第一个元素 , 否则有可能会报[<prettytable.PrettyTable object at 0x7fa87feba590>
这样的错误 。
这是因为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))
的可以打印出指定的列 , 当然start
和end
参数让我可以自由控制显示区间 。 当然区间中包含start
不包含end
, 是不是很熟悉这样的用法?
将表格切片从上面的输出区间 , 我们做一个大胆的假设 , 既然区间包含start
不包含end
这种规则和切片的一样 , 我们可以不可通过切片来生成一个新的表格然后将其打印 。
事实上是可以的 。
如上代码段中 , 我们就可以打印出0到1行共2行的表格 , python的切片功能异常强大 , 配合切片我们可以自由的输入任意的行 。
输出排序有时候我们需要对输出的表格进行排序 , 使用print table.get_string(sortby=\"编号\" reversesort=True)
就可以对表格进行排序 , 其中reversesort
指定了是否倒序排序默认为False
, 即默认正序列排序 。sortby
指定了排序的字段 。
7. 表格的样式内置样式通过set_style()
可以设置表格样式 , prettytable内置了多种的样式个人觉得MSWORD_FRIENDLY
, PLAIN_COLUMNS
, DEFAULT
这三种样式看起来比较清爽 , 在终端下显示表格本来看起就很累 , 再加上一下花里胡哨的东西看起来就更累 。
除了以上推荐的三种样式以外 , 还有一种样式不得不说 , 那就是RANDOM
, 这是一种随机的样式 , 每一次打印都会在内置的样式中随机选择一个 , 比较好玩 。
具体内置了几种样式 , 请各位参考官网完整自己尝试输出看看 。
自定义样式除了内置的样式以外 , PrettyTable也提供了用户自定义 , 例如对齐方式 , 数字输出格式 , 边框连接符等等
设置对齐方式align
提供了用户设置对齐的方式 , 值有l
- AMD|AMD预告新款Radeon Pro专业卡:第一次用上6nm工艺
- CPU|E5系列处理器——工作室和生产力专业处理器,小白请勿购买
- 电子封装技术、微电子、集成电路等,电子信息类专业,研究方向
- 一加科技|相比于所谓的“游戏手机”,一加10Pro,还有更加专业的影像系统
- 化州市富美家电维修店整合行业招商运营资源的专业平台
- Python|99元换新120W氮化镓遭爆抢!iQOO网页后台都崩了
- Python|2022年空调业三雄争霸, 战火在线上线下全面点燃
- 昌江区珠山区区县服务商整合行业招商运营资源的专业平台
- 买斗整合行业招商运营资源的专业平台
- Linux|为什么国企要把电脑全部换成Linux环境?能不能从专业的角度分析一下?