c语言编程笔录

首页 >   > 笔记大全

笔记大全

Python怎么使用prettytable库打印表格美化输出功能

更新时间:2023-11-28

1. 简介

prettytable是一个功能强大的Python库,它可以用来打印出美观的ASCII表格。这个库提供了许多功能,可以帮助我们轻松地创建表格,支持自动调整列宽、对齐、样式等。本文将介绍如何使用prettytable库打印表格美化输出功能。

# 安装prettytable库
!pip install prettytable

2. 基础用法

使用prettytable库创建表格的方法很简单。我们可以使用Table()类创建一个表格实例,然后添加行和单元格。

from prettytable import PrettyTable

# 创建表格实例
table = PrettyTable()

# 添加列
table.add_column("姓名", ["王小明", "张三", "李四"])
table.add_column("年龄", [18, 20, 22])
table.add_column("性别", ["男", "男", "女"])

# 输出表格
print(table)
输出:
+--------+----+------+
|  姓名  | 年龄 | 性别 |
+--------+----+------+
| 王小明 | 18 |  男  |
|  张三  | 20 |  男  |
|  李四  | 22 |  女  |
+--------+----+------+

3. 样式与对齐

prettytable库提供了多种样式和对齐方式来帮助打印更美观的表格。

3.1 样式

我们可以使用set_style()方法来设置表格的样式。prettytable库一共有4种预设样式:PLAIN_COLUMNS(不带边框的表格)、DEFAULT(简单的ASCII表格)、MSWORD_FRIENDLY(仿Word表格)和PLAIN_GRID(带边框的ASCII表格)。

# 设置表格样式
table.set_style(PrettyTable.PLAIN_COLUMNS)

# 输出表格
print(table)
输出:
姓名     年龄   性别
王小明    18     男
张三      20     男
李四      22     女
3.2 对齐

我们可以使用align属性来设置单元格的对齐方式。prettytable库支持4种对齐方式:LEFT、RIGHT、CENTER和DECIMAL。

# 设置单元格对齐方式
table.align["姓名"] = "r"       # 右对齐
table.align["年龄"] = "c"       # 居中对齐
table.align["性别"] = "l"       # 左对齐

# 输出表格
print(table)
输出:
+--------+-----+------+
|    姓名 | 年龄 | 性别 |
+--------+-----+------+
| 王小明  |  18 | 男   |
|   张三 |  20 | 男   |
|   李四 |  22 | 女   |
+--------+-----+------+

4. 自动调整列宽

我们可以使用autofit属性来自动调整表格的列宽。这会根据列中的内容来选择最佳宽度,并尽可能地保持表格整洁。

# 自动调整列宽
table.align = "l"
table.padding_width = 1
table.autofit = True

# 输出表格
print(table)
输出:
+--------+-----+------+
| 姓名    | 年龄 | 性别 |
+--------+-----+------+
| 王小明  | 18  | 男   |
| 张三    | 20  | 男   |
| 李四    | 22  | 女   |
+--------+-----+------+

总结

这篇文章介绍了如何使用prettytable库打印出美观的ASCII表格。我们讲解了prettytable库的基础用法、样式与对齐、以及自动调整列宽等功能。prettytable库提供了丰富的api,开发者可以根据自己的需求来使用它。

如果你希望在Python中打印出美观的表格,prettytable库是一个不错的选择。但是需要注意的是,使用prettytable库可能会对性能产生一定的影响,所以在处理大量数据时需要进行优化。