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

prettytable库的常用设置和功能简介

发布时间:2023-12-15 08:29:00

prettytable是Python中一个用于制作漂亮的ASCII表格的库。它可以帮助我们在终端中创建和展示复杂的表格数据,使数据呈现得更清晰、易于阅读。下面是prettytable库的常用设置和功能简介,以及使用例子。

1. 安装prettytable库

可以使用pip命令来安装prettytable库:pip install prettytable

2. 导入prettytable库

使用import语句导入prettytable库:from prettytable import PrettyTable

3. 创建表格对象

要创建一个表格对象,可以使用PrettyTable类。可以选择在构造函数中指定表格的标题和字段。可以使用field_names属性来设置字段名称,并使用title属性来设置表格标题。

from prettytable import PrettyTable

table = PrettyTable()
table.field_names = ["Name", "Age", "Country"]
table.title = "Personal Information"

4. 添加数据行

使用add_row()方法来向表格中添加数据行。可以多次调用add_row()方法来添加多行数据。

table.add_row(["John", 28, "USA"])
table.add_row(["Alice", 32, "Canada"])

5. 添加分隔线

使用hrules属性来设置表格是否显示分隔线。ALL表示显示所有分隔线,FRAME表示只显示外边框分隔线,NONE表示不显示分隔线。

table.hrules = PrettyTable.ALL

6. 格式化单元格

可以使用set_style()方法来设置单元格的样式。可以通过指定PADDING_WIDTHPADDING_CHAR属性来设置单元格的边距和填充字符。

table.set_style(PrettyTable.DEFAULT)
table.padding_width = 1
table.padding_char = "~"

7. 输出表格

使用print()函数来输出表格。可以使用get_string()方法来获取表格的字符串表示。

print(table)

output:
+------+------+---------+
| Name | Age  | Country |
+------+------+---------+
| John |  28  |  USA    |
| Alice|  32  |  Canada |
+------+------+---------+

8. 对齐数据

使用align属性来设置字段数据的对齐方式。可选值包括"l"(左对齐)、"r"(右对齐)和"c"(居中对齐)。

table.align["Name"] = "l"
table.align["Age"] = "r"
table.align["Country"] = "c"
print(table)

output:
+------+------+---------+
| Name | Age  | Country |
+------+------+---------+
| John |  28  |   USA   |
| Alice|  32  | Canada  |
+------+------+---------+

9. 排序数据

可以使用sortby属性来指定按照哪个字段进行排序。可以使用sort_key属性来设置排序时使用的键函数。

table.sortby = "Age"
table.sort_key = lambda row: int(row.get_string(fields=["Age"]))
print(table)

output:
+------+------+---------+
| Name | Age  | Country |
+------+------+---------+
| John |  28  |   USA   |
| Alice|  32  | Canada  |
+------+------+---------+

10. 自定义表格样式

可以使用set_style()方法来设置表格的样式。可以通过指定HORIZONTAL_CHARVERTICAL_CHAR属性来设置水平和垂直分隔符的样式。

table.set_style(PrettyTable.MARKDOWN)
table.horizontal_char = "-"
table.vertical_char = "|"
print(table)

output:
| Name | Age | Country |
|------|-----|---------|
| John |  28 |   USA   |
| Alice|  32 | Canada  |

以上就是prettytable库的常用设置和功能简介,以及使用例子。prettytable库提供了丰富的功能,可以帮助我们更好地展示和呈现表格数据。通过设置样式、对齐数据、排序数据等功能,可以使表格数据变得更加清晰和易于阅读。