简介
prettytable/PTable是一个可以在终端快速绘制出漂亮表格的python库。也支持html格式的表格绘制。
原项目prettytable托管于Google Code,PTable是其在GitHub的一个fork,完全兼容prettytable。
完整的文档可参考ReadTheDocs,这里只做Python库的简单介绍。
最常用的示例:
from prettytable import PrettyTable |
输出(有些浏览器上查看时,可能稍微有些排版错位):
+-----------+------+---------+----------+
| 城市名 | 面积 | 人口 | 年降雨量 |
+-----------+------+---------+----------+
| Adelaide | 1295 | 1158259 | 600.5 |
| Brisbane | 5905 | 1857594 | 1146.4 |
| Darwin | 112 | 120900 | 1714.7 |
| Hobart | 1357 | 205556 | 619.5 |
| Sydney | 2058 | 4336374 | 1214.8 |
| Melbourne | 1566 | 3806092 | 646.9 |
| Perth | 5386 | 1554769 | 869.4 |
+-----------+------+---------+----------+
安装
pip install prettytable
示例
添加行/列
上面已经演示了如何通过”row by row”的方式添加一行:
x.add_row(["Perth", 5386, 1554769, 869.4])
也可以通过”column by column”的方式来添加一列:
x.add_column(u"气温", [11, 12, 13, 14, 15, 16, 17])
删除行
删除table中的数据的方式有三种:
del_row
参数为一个数字index,可以删除指定row,数字从0开始算:
x.del_row(0)
clear_rows
删除所有row,但保留table的字段名:
x.clear_rows()
clear
删除所有row和table的字段名,但保留table的样式:
x.clear()
从CSV文件导入数据
from prettytable import from_csv |
从数据库导入数据
import sqlite3 |
打印输出
print(x)
或者:
print(x.get_string())
使用get_string()
可以带入参数,比如只想要输出某些列:
print(x.get_string(fields=[u"城市名", u"人口"]))
只想要输出某些行:
print(x.get_string(start=1, end=4))
输出对齐
x.align[u"城市名"] = "l" |
其中,l
表示left
, r
表示right
,c
表示center
。默认是c
居中的对齐方式。
表格排序
print(x.get_string(sortby=u"人口", reversesort=True)) |
输出(有些浏览器上查看时,可能稍微有些排版错位):
+-----------+------+---------+----------+
| 城市名 | 面积 | 人口 | 年降雨量 |
+-----------+------+---------+----------+
| Sydney | 2058 | 4336374 | 1214.8 |
| Melbourne | 1566 | 3806092 | 646.9 |
| Brisbane | 5905 | 1857594 | 1146.4 |
| Perth | 5386 | 1554769 | 869.4 |
| Adelaide | 1295 | 1158259 | 600.5 |
| Hobart | 1357 | 205556 | 619.5 |
| Darwin | 112 | 120900 | 1714.7 |
+-----------+------+---------+----------+
输出html
print(x.get_html_string()) |
支持html样式(比如在邮件中插入html代码会用到):
print(x.get_html_string(attributes={"class":"red_table", "border": "1"})) |
More
文档与更多示例参考: