1.PrettyTable的安装
PrettyTable
是Python中的第三方工具库,因此可以直接安装导入使用。目前该模块支持颜色和自定义格式,支持带列表的表格。
pip install PrettyTable
2.模块的导入
from prettytable import PrettyTable
import prettytable as pt #重新命名为pt
3.基础使用
(1)设置表的名称
tb.title = 'Table City Info'
(2)添加行/列数据
其中添加数据使用add_row
创建行数据时,携带的参数是列表类型,使用add_column
创建列数据时,也可以直接使用列表或者第一个参数为列标题名,类型是str,第二个是列对应的value,类型是list。
tb = pt.PrettyTable() #创建表格方法1
x = PrettyTable() #创建表格方法2
tb.add_row( <llist> ) #按行添加数据,也可以是二维列表
tb.add_column( <llist> ) #按列添加数据
(3)设置对齐方式
使用align来设置对齐方式,默认居中对齐,其中l是向左对齐,c是居中对齐,r是向右对齐。
tb,align='l'
(4)设置输出表格样式
使用set_style()来控制数据表格的样式,set_style()默认参数是DEFAULT的表格样式,如果需要更换为其它方式,则需要import导入后使用.
tb.set_style(表格样式) #MSWORD_FRIENDLY、MARKDON表格样式
(5)导入数据
PrettyTable不仅提供了手动按行按列添加数据,也支持直接从csv文件中读取数据,需要注意的是,字符串需要加上引号。如果要读取cvs文件数据,必须要先导入from_csv,否则无法运行。
from prettytable import from_csv
with open("CityInfo.csv") as fp:
mytable = from_csv(fp)
print(mytable)
(6)自定义表框样式
table.border=True #控制是否显示边框,默认是True
table.junction_char='|' #控制边框连接符
table.horizontal_char='|' #控制横边框符号
table.vertical_char='|' #控制竖边框符号
4.案例应用展示
对常用的表格操作方法进行应用展示,案例是模拟用户购买车票的一个操作。
from prettytable import PrettyTable
is_ticket='有票'
no_ticket='无票'
#模拟高铁售票系统
def table(col_select,row_select):
table = PrettyTable()
col_lst=['行号', '座位1', '座位2', '座位3', '座位4', '座位5']
table.field_names = col_lst
row=6 #列数量
for item in range(row):
row_lst = [f'第{item+1}行', is_ticket, is_ticket, is_ticket, is_ticket, is_ticket]
if item==col_select-1:
row_lst.pop(row_select)
row_lst.insert(row_select,no_ticket)
table.add_row(row_lst)
else:
table.add_row(row_lst)
print(table)
table(0,0)
addr=input('请输入选择的坐席:').split(',')
table(int(addr[0]),int(addr[1]))
显示效果如下: