📜  漂亮的打印列表 python (1)

📅  最后修改于: 2023-12-03 14:56:10.555000             🧑  作者: Mango

漂亮的打印列表 Python

如果你想在 Python 中漂亮地打印列表,使用 prettytable 库是一个不错的选择。这个库可以帮助你创建具有自动对齐和格式化功能的表格。我们来看看怎么使用它。

安装

你可以通过 pip 来安装 prettytable 库:

pip install prettytable
基本用法

让我们从一个简单的例子开始,假设你有一些数据需要展示:

from prettytable import PrettyTable

table = PrettyTable()

table.field_names = ["Name", "Age", "Height"]
table.add_row(["Alice", 25, 1.75])
table.add_row(["Bob", 30, 1.80])
table.add_row(["Charlie", 35, 1.90])

print(table)

上面的代码将输出以下表格:

+----------+-----+--------+
|   Name   | Age | Height |
+----------+-----+--------+
|  Alice   |  25 |  1.75  |
|   Bob    |  30 |  1.8   |
| Charlie  |  35 |  1.9   |
+----------+-----+--------+

你可以通过 field_names 属性来设置表格的列名。然后,通过 add_row 方法向表格添加行。

格式化

PrettyTable 有很多格式化选项,下面我们来看一些常用的。

对齐

默认情况下,表格中的所有列都居左对齐。你可以通过 align 参数来设置所有列的对齐方式。比如,这里我们将所有列都设置为居中对齐:

table = PrettyTable()

table.field_names = ["Name", "Age", "Height"]
table.add_row(["Alice", 25, 1.75])
table.add_row(["Bob", 30, 1.80])
table.add_row(["Charlie", 35, 1.90])

table.align = "c"

print(table)

输出结果:

+----------+-----+--------+
|   Name   | Age | Height |
+----------+-----+--------+
|   Alice  |  25 |  1.75  |
|    Bob   |  30 |  1.8   |
|  Charlie |  35 |  1.9   |
+----------+-----+--------+
边框

默认情况下,PrettyTable 会在表格周围添加边框。你可以通过 border 参数来控制边框的宽度。比如,让我们将边框的宽度设置为 2:

table = PrettyTable()

table.field_names = ["Name", "Age", "Height"]
table.add_row(["Alice", 25, 1.75])
table.add_row(["Bob", 30, 1.80])
table.add_row(["Charlie", 35, 1.90])

table.border = 2

print(table)

输出结果:

╔══════════╦═════╦════════╗
║   Name   ║ Age ║ Height ║
╠══════════╬═════╬════════╣
║   Alice  ║  25 ║  1.75  ║
║    Bob   ║  30 ║  1.8   ║
║  Charlie ║  35 ║  1.9   ║
╚══════════╩═════╩════════╝
格式化

PrettyTable 支持对表格中的数据进行格式化。比如,你可以设置所有数字类型的值都显示为 2 位小数:

table = PrettyTable()

table.field_names = ["Name", "Age", "Height"]
table.add_row(["Alice", 25, 1.756])
table.add_row(["Bob", 30, 1.802])
table.add_row(["Charlie", 35, 1.902])

table.float_format = ".2"

print(table)

输出结果:

+----------+-----+--------+
|   Name   | Age | Height |
+----------+-----+--------+
|   Alice  | 25.0|   1.76 |
|    Bob   | 30.0|   1.80 |
|  Charlie | 35.0|   1.90 |
+----------+-----+--------+
总结

在 Python 中打印漂亮的表格并不困难。prettytable 库提供了强大的自动对齐和格式化功能,可以帮助你创建出非常漂亮的表格。大家可以试试自己用 prettytable 库打印出更漂亮的表格!