分享

如何在 Python 中制作输出表格

 信息科技云课堂 2024-04-12 发布于山东

在本文中,您将学习如何使用 Python 编程语言制作输出表格。Python 提供了丰富的库支持来完成特定任务。我们可以使用 tabulate 模块或 PrettyTable 模块在 Python 中创建输出表格。

使用 tabulate 模块创建表格

我们可以使用 tabulate 模块轻松地在 python 创建输出表格。首先,我们需要安装它。

pip install tabulate

现在我们已准备好此模块,让我们通过简单示例了解在 python 中创建表格的过程。

from tabulate import tabulate
 
student_data = [["Li""16"],
    ["Wang""19"],
    ["Zhang""21"],
    ["Zhou""23"]]
 
heading = ["Name""Age"# 表头

print(tabulate(student_data, headers=heading))

输出:

Name   Age
-----  ----
Li       16
Wang     19
Zhang    21
Zhou     23

在这里,我们使用了一个嵌套列表存储学生信息,很容易使用 tabulate 模块创建了一个表格。还可以继续设计表格,比如加边框线,让表格更加漂亮。

from tabulate import tabulate
 
student_data = [["Li""16"],
    ["Wang""19"],
    ["Zhang""21"],
    ["Zhou""23"]]
 
heading = ["Name""Age"# 表头

print(tabulate(student_data, headers=heading, tablefmt="pretty"))

输出:

+-------+-----+
| Name  | Age |
+-------+-----+
|  Li   | 16  |
| Wang  | 19  |
| Zhang | 21  |
| Zhou  | 23  |
+-------+-----+

在这里,传递一个新参数 tablefmt="pretty",为表格添加了边框线。tablefmt 还可以接受几个不同的选项,包括:grid、fancy_grid、pipe、simple。

使用“pipe”选项可以创建 Markdown 表,甚至包括使用冒号进行对齐,可以直接复制到 Markdown 文档中使用。

from tabulate import tabulate
 
student_data = [["Li""16"],
    ["Wang""19"],
    ["Zhang""21"],
    ["Zhou""23"]]
 
heading = ["Name""Age"]

print(tabulate(student_data, headers=heading, tablefmt="pipe"))

输出:

| Name   |   Age |
|:-------|------:|
| Li     |    16 |
| Wang   |    19 |
| Zhang  |    21 |
| Zhou   |    23 |

其他有用参数还有 showindex='always'(添加索引)、missingval='NA'(处理表格中缺失的值)、floatfmt=".4f"(自定义数字格式)等。

从字典创建表格,我们可以获取字典的键作为表头,遍历字典的值,添加到列表,创建表格。

from tabulate import tabulate
 
data = [{"Name""Li""Age"16}, {"Name""Bruce""Age"19}, {"Name""Zhang""Age"21}, {"Name""Zhou""Age"23}]
headers = data[0].keys()
 
rows = []
for x in data:
  rows.append(x.values())

print(tabulate(rows, headers, tablefmt="simple"))

使用 PrettyTable 模块创建表

安装:

pip install prettytable

PrettyTable 与 tabulate 模块略有不同。让我们通过实例了解它:

from prettytable import PrettyTable
student_table = PrettyTable(["Name""Age"]) 
student_table.add_row(["Li""16"])
student_table.add_row(["Wang""19"])
student_table.add_row(["Zhang""21"])
student_table.add_row(["Zhou""23"])
print(student_table)

输出:

+-------+-----+
|  Name | Age |
+-------+-----+
|   Li  |  16 |
|  Wang |  19 |
| Zhang |  21 |
|  Zhou |  23 |
+-------+-----+

PrettyTable 模块首先添加表头,然后使用 add_row 方法为表格添加每一行数据。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多