当前位置:   article > 正文

Python中PrettyTable模块的基础使用

prettytable

1.PrettyTable的安装

PrettyTable是Python中的第三方工具库,因此可以直接安装导入使用。目前该模块支持颜色和自定义格式,支持带列表的表格。

pip install PrettyTable
  • 1

2.模块的导入

from prettytable import PrettyTable
  • 1
import prettytable as pt #重新命名为pt
  • 1

3.基础使用

(1)设置表的名称

tb.title = 'Table City Info'
  • 1

(2)添加行/列数据
其中添加数据使用add_row创建行数据时,携带的参数是列表类型,使用add_column创建列数据时,也可以直接使用列表或者第一个参数为列标题名,类型是str,第二个是列对应的value,类型是list。

tb = pt.PrettyTable() #创建表格方法1
x = PrettyTable() #创建表格方法2
tb.add_row( <llist> )   #按行添加数据,也可以是二维列表
tb.add_column( <llist> ) #按列添加数据
  • 1
  • 2
  • 3
  • 4

(3)设置对齐方式
使用align来设置对齐方式,默认居中对齐,其中l是向左对齐,c是居中对齐,r是向右对齐。

tb,align='l'
  • 1

(4)设置输出表格样式
使用set_style()来控制数据表格的样式,set_style()默认参数是DEFAULT的表格样式,如果需要更换为其它方式,则需要import导入后使用.

tb.set_style(表格样式) #MSWORD_FRIENDLY、MARKDON表格样式
  • 1

(5)导入数据
PrettyTable不仅提供了手动按行按列添加数据,也支持直接从csv文件中读取数据,需要注意的是,字符串需要加上引号。如果要读取cvs文件数据,必须要先导入from_csv,否则无法运行。

from prettytable import from_csv
with open("CityInfo.csv") as fp:
    mytable = from_csv(fp)
print(mytable)
  • 1
  • 2
  • 3
  • 4

(6)自定义表框样式

table.border=True #控制是否显示边框,默认是True
table.junction_char='|' #控制边框连接符
table.horizontal_char='|'  #控制横边框符号
table.vertical_char='|' #控制竖边框符号
  • 1
  • 2
  • 3
  • 4

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]))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

显示效果如下:
在这里插入图片描述

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号