Python PrettyTable 模块
Python PrettyTable 模块
- Python PrettyTable 模块
- 简介
- 安装
- 示例
- 使用
- 创建表
- 直接创建
- 从已有文件创建
- CSV
- HTML
- SQL
- 添加元素
- 按行添加
- 按列添加
- 输出格式
- ASCII码表
- 直接输出
- 无表格框输出
- HTML表
- 选择子表
- 表排序
- ASCII码表
- 控制表样式
- 自带样式
- 手动控制样式
- 可调整选项
- 用法
- 调整对齐方式的几种方法
- 创建表
- 参考资料
简介
Python通过PrettyTable模块可以将输出内容如表格方式整齐地输出。
安装
pip install prettytable
示例
from prettytable import PrettyTable
table = PrettyTable(["animal", "ferocity"])
table.add_row(["wolverine", 100])
table.add_row(["grizzly", 87])
table.add_row(["Rabbit of Caerbannog", 110])
table.add_row(["cat", -1])
table.add_row(["platypus", 23])
table.add_row(["dolphin", 63])
table.add_row(["albatross", 44])
table.sort_key("ferocity")
table.reversesort = True
print(table)'''效果图
+----------------------+----------+
| animal | ferocity |
+----------------------+----------+
| Rabbit of Caerbannog | 110 |
| wolverine | 100 |
| grizzly | 87 |
| dolphin | 63 |
| albatross | 44 |
| platypus | 23 |
| cat | -1 |
+----------------------+----------+
'''
使用
创建表
直接创建
pt = PrettyTable()
从已有文件创建
CSV
from prettytable import from_csv
fp = open("mytable.csv", "r")
pt = from_csv(fp)
fp.close()
HTML
from prettytable import from_html
pts = from_html(html_string)
SQL
from prettytable import from_db_cursor
db_cur.execute("SELECT * FROM mytable")
pt = from_db_cursor(db_cur)
添加元素
按行添加
pt.add_row()
按列添加
pt.add_column()
输出格式
ASCII码表
直接输出
print(pt)
无表格框输出
print(pt.get_string())
HTML表
print(pt.get_html_string())
选择子表
print(pt.get_string(fields = ["City name", "Population"]))
#输出前4列
print(pt.get_string(start = 0, end = 3))
new_table = old_table[0:3]
print(new_table)
表排序
print x.get_string(sortby="Annual Rainfall", reversesort=True)
控制表样式
自带样式
#参数还可以选择“DEFAULT”、“PLAIN_COLUMNS”
from prettytable import MSWORD_FRIENDLY
x.set_style(MSWORD_FRIENDLY)
print(x)
手动控制样式
可调整选项
摘自prettytable文档
- border - 布尔类型参数(必须是True或False)。控制表格边框是否显示。
- header - 布尔类型参数(必须是True或False)。控制表格第一行是否作为表头显示。
- header-style - 控制表头信息的大小写。允许的参数值:“cap”(每个单词首字母大写),“title”(除了介词助词首字母大写),“lower”(全部小写)或者None(不改变原内容格式)。默认参数为None。
- hrules - 设置表格内部水平边线。允许的参数值:FRAME,ALL,NONE。注意这些是在prettytable模块内部定义的变量,在使用之前导入或用类似prettytable.FRAME的方法调用。
- vrules - 设置表格内部竖直边线。允许的参数值:FRAME,ALL,NONE。
- align - 水平对齐方式(None,“l”(左对齐),“c”(居中),“r”右对齐)
- valign - 垂直对齐方式(None,“t”(顶部对齐),“m”(居中),“b”底部对齐)
- int_format - 控制整型数据的格式。
- float_format - 控制浮点型数据的格式。
- padding_width - 列数据左右的空格数量。(当左右padding未设置时生效)
- left_padding_width - 列数据左侧的空格数量。
- right_padding_width - 列数据右侧的空格数量。
- vertical_char - 绘制竖直边线的字符,默认为“|”
- horizontal_char - 绘制水平边线的字符,默认为“-”
- junction_char - 绘制水平竖直交汇点的字符,默认为“+”
- border - A boolean option (must be True or False). Controls whether or not a border is drawn around the table.
- header - A boolean option (must be True or False). Controls whether or not the first row of the table is a header showing the names of all the fields.
- header_style - Controls capitalisation of field names in the header. Allowed values: “cap” (capitalise first letter of each word), “title” (title case), “upper” (all upper-case), “lower” (all lower-case) or None (don’t change from original field name setting). Default is None.
- hrules - Controls printing of horizontal rules after rows. Allowed values: FRAME, ALL, NONE - note that these are variables defined inside the prettytable module so make sure you import them or use prettytable.FRAME etc.
- vrules - Controls printing of vertical rules between columns. Allowed values: FRAME, ALL, NONE
- align - Horizontal alignment (None, “l” (left), “c” (centre), “r” (right))
- valign - Vertical alignment (None, “t” (top), “m” (middle) or “b” (bottom))
- int_format - Controls formatting of integer data. This should be a string which can be placed between “%” and “d” in something like print “%d” % 42.
- float_format - Controls formatting of floating point data. This should be a string which can be placed between “%” and “f” in something like print “%f” % 4.2.
- padding_width - Number of spaces on either side of column data (only used if left and right paddings are None).
- left_padding_width - Number of spaces on left hand side of column data.
- right_padding_width - Number of spaces on right hand side of column data.
- vertical_char - Single character string used to draw vertical lines. Default is |.
- horizontal_char - Single character string used to draw horizontal lines. Default is -.
- junction_char - Single character string used to draw line junctions. Default is +.
用法
x = PrettyTable()
x.border = False
x.header = False
x.padding_width = 5
x = PrettyTable(border=False, header=False, padding_width=5)
以上两种设置方式等效
调整对齐方式的几种方法
print(x.get_string(align="l"))
x.align["City name"] = "l"
x.align["Population"] = "c"
x.align["Area"] = "r"
x.align = "l'
参考资料
- prettytable 文档
使用方法从文档摘取过来的 更多用法请直接参考文档 - python之PrettyTable模块
- Python prettytable.PrettyTable Examples
更多实例提供参考
Python PrettyTable 模块相关推荐
- Python PrettyTable 模块(美化库)
Python PrettyTable 模块 简介 安装 示例 使用 创建表 直接创建 从已有文件创建 CSV HTML SQL 添加元素 按行添加 按列添加 输出格式 ASCII码表 直接输出 无表格 ...
- python prettytable格式设置_Python prettytable的使用方法
原博文 2015-10-22 19:09 − ###Python prettytable的使用方法 prettytable可以整齐地输出一个表格信息: +-----------+------+---- ...
- Python爬虫——使用正则表达式爬取西安7天的天气预报,并使用prettytable模块输出
使用正则表达式爬取西安7天的天气预报 这个爬虫的案例就是对正则表达式的运用,通过这个案例,我们可以对正则表达式有更加深入的理解. 1. 信息来源: 天气网. 链接为:https://www.tian ...
- Python常用模块——目录
Python常用模块学习 Python模块和包 Python常用模块time & datetime &random 模块 Python常用模块os & sys & sh ...
- python email模块
python email模块 官方文档 email模块 电子邮件包是一个用于管理电子邮件消息的库.它的特殊设计不用于向SMTP (RFC 2821).NNTP或其他服务器发送任何电子邮件消息;这些是模 ...
- Python Re 模块超全解读!详细
内行必看!Python Re 模块超全解读! 2019.08.08 18:59:45字数 953阅读 121 re模块下的函数 compile(pattern):创建模式对象 > import ...
- python argparse模块_Python argparse模块应用实例解析
这篇文章主要介绍了Python argparse模块应用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 简介 argparse是python ...
- 关于使用python logging模块的几点总结
关于使用python logging模块的几点总结 使用python的标准日志模块logging可以非常方便地记录日志.Python日志系统非常丰富.添加结构化或非结构化日志输出到python代码,写 ...
- python高级-模块(14)
一.python中的模块 有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt函数,必须用语句#include <math.h>引入math.h这个头文件,否则是无法正常进行调用的. ...
最新文章
- 尝鲜RHEV 3.0——概念篇(附RHEV3.0下载)
- Java黑皮书课后题第3章:*3.30(当前时间)修改编程练习题2.8,以12小时时钟制显示小时数
- Java | Python 流程控制对比
- Spring Security学习(二)
- 入门训练 Fibonacci数列 c语言
- 移动端分享到微信和QQ
- screen乱码问题
- 由淘宝,京东,凡客站点的多条件分页查询细节想到的
- pythonsocket中tcp通信接收不到数据_简单说说Python Socket编程步骤?
- cdr X6 64位32位缩略图补丁包
- 《FLUENT 14流场分析自学手册》——第1章 流体力学基础 1.1 流体力学基本概念
- android 打开pdf文件
- 使用Excel制作证件照之替换背景色
- DCFNET:用于视觉跟踪的判别相关滤波器网络
- 爬取网易严选某种衣服商品数据,实现可视化,结论有点吓人
- 魔改一个自以为不太好的简历
- 志强CPU E5 E7参数,CPU内核参数对比图
- 深度学习与“免费”GPU
- PHP - 关于empty()
- 程序员修炼之道-从小工到专家 读后感