文章图片
文章图片
文章图片
文章图片
【Python|专业输出文本化表格的Python库,太漂亮了!】
文章图片
文章图片
文章图片
1. 前言最近在用 Python 写一个命令行的管理工具 , 这个工具主要就是用来管理各种资源的信息 , 比如阿里云的 ECS 等信息 , 基本的功能就是同步阿里云的资源的信息到数据库 , 然后可以使用命令行查询 。
因为信息是展现在命令行中的 , 众所周知 , 命令行展现复杂的文本看起来着实累人 , 于是就想着能像表格那样展示 , 那看起来就舒服多了 。
prettytable库就是这么一个工具 , prettytable 可以打印出美观的表格 , 并且对中文支持相当好(如果有试图自己实现打印表格 , 你就应该知道处理中文是多么的麻烦)
2. 安装prettytable 并非 python 的内置库 , 通过pip install prettytable
即可安装 。
3. 示例我们先来看一个示例:
以上示例运行结果如下:
在以上的示例中 , 我们通过
form
导入了表格库 。 table
实例化了一个表格库 , 并且添加了['编号''云编号''名称''IP地址'
为表头 , 如果没有添加表头 , 那么会以默认的Field+编号显示 , 例如:
所以为更直观看出每一列的意义 , 还是要添加表头的 。
4. 添加数据prettytable提供了多种的添加数据的方式 , 最常用的应该就是按行按列添加数据了 。
按行添加数据 table.add_row在上面简单的示例中 , 我们就是按行添加数据的 。
添加的数据必须要是列表的形式 , 而且数据的列表长度要和表头的长度一样 。 在实际的使用中 , 我们应该要关注到添加的数据是否和表头对应 , 这一点很重要 。
按列添加数据 table.add_column()
运行结果如下:
以上示例中 , 我们通过add_column
来按列添加数据 , 按列添加数据不需要在实例化表格的时候制定表头 , 它的表头是在添加列的时候指定的 。
table.add_column('项目' ['编号''云编号''名称''IP地址'
这一行代码为例 ,
)项目
指定了这个列的表头名为\"项目\" , ['编号''云编号''名称''IP地址'
为列的值 , 同样为列表 。
从csv文件添加数据PrettyTable不仅提供了手动按行按列添加数据 , 也支持直接从csv文件中读取数据 。
如果要读取cvs文件数据 , 必须要先导入from_csv
, 否则无法运行 。 上面的示例运行结果如下:
PS:csv 文件不能通过 xls 直接重命名得到 , 会报错 。 如果是 xls 文件 , 请用另存为 csv 获得 csv 文件
从sql查询值添加从数据库查询出来的数据可以直接导入到表格打印 , 下面的例子使用了sqlite3
如果使用的是mysql也是一样的 , 只要能查询到数据就能导入到表格中 。
运行结果如下:
从HTML导入数据支持从html的表格中导入 , 请看下面这个例子:
运行结果如下:
如上示例中 , 我们可以导入html的表格 , 但是不一样的地方是print
语句 , 使用html表格导入数据的时候print的必须是列表中的第一个元素 , 否则有可能会报[<prettytable.PrettyTable object at 0x7fa87feba590>
这样的错误 。
这是因为
- Python|呼吁理性消费:不足千元买27寸IPS 165hz 旋转升降电竞显示器
- 拍照手机|四款堪比专业设备的拍照手机,优点很明显,拍照党必备
- Python|通话质量好的有哪几款推荐?通话质量好的蓝牙耳机推荐
- 天使轮|电子商务专业论文选题推荐
- Python|又一电商巨头凉凉?市值跌去90%,付款后不发货,申请退款不受理
- vivo|自拍正成为大众需求,vivo、小米、荣耀这四款就提升了专业度
- 唯品会|创领行业专业温控标准 美的遇见系列烤箱PID技术重塑行业新标杆
- 华硕|专业用户的相机选购指南
- Python|小米MIX FOLD的用户超过一半来源于H和A品牌!小米高端成了
- Python|中国电子商务股第三季度业绩下滑 京东成唯一赢家