Python中PrettyTable模块的基础使用

本文介绍了如何在Python中安装和使用PrettyTable库,包括设置表名、添加行列数据、对齐方式、样式调整以及从CSV文件导入数据。还通过购票案例展示了常用操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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]))

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无聊的邓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值