欢迎访问宙启技术站
智能推送

Python中使用prettytable创建漂亮的表格

发布时间:2024-01-18 11:44:30

Python中使用prettytable创建漂亮的表格是一种方便且常用的方式。PrettyTable是一个开源库,可以帮助我们创建格式化的表格,可以设置表头、表格内容、对齐方式等。下面是对使用PrettyTable创建漂亮的表格的详细介绍。

首先,我们需要安装PrettyTable库。在命令行中输入以下命令即可安装:

pip install prettytable

接下来,我们可以使用PrettyTable库创建一个简单的表格。下面是一个创建固定列数的表格的例子:

from prettytable import PrettyTable

# 创建表格对象
table = PrettyTable()

# 设置表头
table.field_names = ["姓名", "年龄", "性别"]

# 添加数据
table.add_row(["张三", 20, "男"])
table.add_row(["李四", 25, "女"])
table.add_row(["王五", 30, "男"])

# 打印表格
print(table)

上述代码将会创建一个包含姓名、年龄和性别三个列的表格,并添加了三行数据。table.field_names用于设置表头,table.add_row用于添加数据,最后使用print(table)打印出表格。运行上述代码,输出如下:

+------+------+------+
|  姓名  |  年龄  |  性别  |
+------+------+------+
| 张三 |  20  |   男   |
| 李四 |  25  |   女   |
| 王五 |  30  |   男   |
+------+------+------+

可以看到,我们通过PrettyTable创建了一个带有表头和数据的表格。

接下来,我们可以对表格进行更多的设置,如对齐方式、排序等。下面是一个使用更多设置的例子:

from prettytable import PrettyTable

# 创建表格对象
table = PrettyTable()

# 设置表头和对齐方式
table.field_names = ["姓名", "年龄", "性别"]
table.align["姓名"] = "l"   # 左对齐
table.align["年龄"] = "c"   # 居中对齐
table.align["性别"] = "r"   # 右对齐

# 添加数据
table.add_row(["张三", 20, "男"])
table.add_row(["李四", 25, "女"])
table.add_row(["王五", 30, "男"])

# 对表格数据进行排序
table.sortby = "年龄"   # 根据年龄排序

# 打印表格
print(table)

上述代码中,我们通过table.align设置了不同列的对齐方式,"l"表示左对齐,"c"表示居中对齐,"r"表示右对齐。我们还使用table.sortby对表格数据进行排序,这里根据年龄列进行排序。运行上述代码,输出如下:

+------+------+------+
| 姓名 | 年龄 | 性别 |
+------+------+------+
| 李四 |  25  |   女  |
| 张三 |  20  |   男  |
| 王五 |  30  |   男  |
+------+------+------+

可以看到,表格数据按照年龄列进行了排序,并且不同列的对齐方式也生效了。

除了默认的简单表格,PrettyTable还支持更复杂的表格,如多行表头、合并单元格等。我们可以使用set_style方法来设置表格的样式。下面是一个使用合并单元格的例子:

from prettytable import PrettyTable

# 创建表格对象
table = PrettyTable()

# 设置表头和列分割线样式
table.field_names = ["姓名", "年龄", "城市"]

# 添加合并单元格
table.add_column("城市", ["上海", "北京", "北京"])

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

# 打印表格
print(table)

上述代码使用add_column方法添加了一个列,出现了重复的数据,根据默认样式,PrettyTable会将重复的数据进行合并。使用set_style方法设置表格样式为Markdown,运行上述代码,输出如下:

+----+----+----+
| 姓名 | 年龄 | 城市 |
| --- | --- | --- |
|     |     | 上海 |
|     |     | 北京 |
|     |     |     |
+----+----+----+

可以看到,表格合并了重复的数据,并且添加了Markdown格式的表头和列分割线。

总结一下,使用PrettyTable库可以方便地创建漂亮的表格,我们可以设置表头、对齐方式、排序等。此外,PrettyTable还支持更复杂的表格样式,如多行表头、合并单元格等。它是一个强大且易于使用的库,在数据可视化、结果展示等方面具有广泛的应用。