python 表格打印代码实例解析

Python表格打印代码实例解析

在Python中,我们经常需要对数据进行整理并按照一定的格式输出,将数据以表格的形式展示是一种常见的方式。本文将介绍如何用Python实现表格打印,并提供两个示例。

使用Python内置模块 tabulate

tabulate 是 Python 内置模块中的一个用于将二维列表、元组或字典以表格形式打印输出的工具,使用 tabulate 可以快速方便地完成表格打印任务。

安装 tabulate

pip install tabulate

二维列表形式打印

from tabulate import tabulate

data = [
    ["Apple", 20],
    ["Banana", 30],
    ["Pear", 15]
]

print(tabulate(data, headers=["Fruit", "Price"]))

上述代码中,data 是一个二维列表,包含了三行两列的数据。我们使用 tabulate 函数将其打印为一个表格。

函数的第一个参数是需要打印的数据,第二个参数 headers 是一个列表,表示表头中每一列的名称。

执行结果:

  Fruit    Price
-------  -------
Apple        20
Banana       30
Pear         15

字典形式打印

from tabulate import tabulate

data = [
    {"Fruit": "Apple", "Price": 20},
    {"Fruit": "Banana", "Price": 30},
    {"Fruit": "Pear", "Price": 15}
]

print(tabulate(data, headers="keys"))

上述代码中,data 是一个包含三个字典的列表,每个字典包含了两个键值对,表示一行数据。我们使用 tabulate 函数将其打印为一个表格。

函数的第一个参数是需要打印的数据,第二个参数 headers 为字符串 "keys",表示使用字典的键作为表头名称。

执行结果:

  Fruit    Price
-------  -------
Apple        20
Banana       30
Pear         15

使用Python实现简单的表格打印

除了使用内置模块 tabulate 在Python中实现表格打印之外,我们也可以手动编写代码来实现这个功能。下面是一个简单的示例程序:

def print_table(data, headers):
    col_widths = [max(len(str(item)) for item in col) for col in zip(*data)]
    headers = [str(header).center(col_widths[i]) for i, header in enumerate(headers)]
    format_string = ' '.join(['{:<{}}'] * len(headers))
    print(format_string.format(*headers))
    for row in data:
        row = [str(item).center(col_widths[i]) for i, item in enumerate(row)]
        print(format_string.format(*row))

使用 print_table 函数可以打印由二维列表组成的表格,如下所示:

data = [
    ["Apple", "Banana", "Pear"],
    ["20", "30", "15"],
    ["Red", "Yellow", "Green"]
]

headers = ["Fruit", "Price", "Color"]
print_table(data, headers)

执行结果:

  Fruit  Price  Color
 ------ ------ ------
  Apple    20     Red
 Banana   30   Yellow
   Pear   15   Green

上述示例程序的实现方式主要涉及到字符串的格式化和对齐等操作,可以根据实际需求进行修改。

总结

在Python中,我们可以使用内置模块 tabulate 来实现表格打印,也可以手动编写代码进行实现。无论采用哪种方式,表格打印都是处理和展示数据的一个重要工具。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 表格打印代码实例解析 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • 详解Python 通过cookie注入状态

    Python 通过 Cookie 注入状态可以提高某些应用程序的攻击性,但同时也为攻击者带来了极大的风险,因此仅限于在合法的渗透测试场景下使用。 以下是通过 Python 通过 Cookie 注入状态的完整攻略: 1. 扫描网站 首先,需要使用漏洞扫描器或手动方式来查找有安全漏洞的网站。例如使用 nmap 或 burp suite 对目标网站进行扫描。 2.…

    python-answer 2023年3月25日
    00
  • 如何解决 python 2.7.3 中的 lxml 错误?

    【问题标题】:how to solve the lxml error in python 2.7.3?如何解决 python 2.7.3 中的 lxml 错误? 【发布时间】:2023-04-02 02:57:01 【问题描述】: 我下载了 lxml-3.2.3.tar 并解压。后来我使用命令作为 python setup.py install 安装它。但我…

    Python开发 2023年4月8日
    00
  • 完美解决Python matplotlib绘图时汉字显示不正常的问题

    针对Python matplotlib绘图时汉字显示不正常的问题,完美解决方案如下。 问题背景 在Python matplotlib绘图时,如果要输出的图表中包含有中文字符,那么有可能会遇到中文字符显示异常的问题,例如显示乱码或者方框替代等。这是因为matplotlib默认的字体库中没有中文字体,因此需要做一些额外的设置才能正常显示中文字符。 解决方案 要解…

    python 2023年6月13日
    00
  • Python调用graphviz绘制结构化图形网络示例

    Python调用graphviz绘制结构化图形网络是一种常用的数据可视化方法。本文将详细讲解如何使用Python调用graphviz绘制结构化图形网络,并提供两个示例说明。 安装graphviz 首先需要安装graphviz,可通过以下命令安装: # Linux系统: $ sudo apt-get install graphviz # Windows系统: …

    python 2023年5月18日
    00
  • Python实现迷宫自动寻路实例

    Python实现迷宫自动寻路实例攻略 1. 简介 迷宫自动寻路是一种经典的算法问题,目的是求得从一个起点出发至一个终点的最短路径。 在本文中,我将会介绍如何使用Python解决迷宫问题,本文中所用的算法为广度优先搜索(BFS)算法。 2. 实现 2.1 数据结构 在开始之前,我们需要定义出用于存放迷宫数据的数据结构。这里我使用一个二维数组来表示整个迷宫,例如…

    python 2023年5月19日
    00
  • python 中 os.walk() 函数详解

    当我们需要遍历某个目录及其子目录下的所有文件和目录时,可以使用 Python 的 os.walk() 函数。这个函数返回一个生成器,该生成器递归地遍历一个目录及其子目录中的所有文件和目录。下面是一个详细的攻略来讲解如何使用 os.walk() 函数。 函数定义 以下是 os.walk() 函数的定义: os.walk(top, topdown=True, o…

    python 2023年6月2日
    00
  • 详解python3中zipfile模块用法

    详解Python3中zipfile模块用法 zipfile是Python标准库中的一个模块,用于读取和写入ZIP格式的压缩文件。本文将详细讲解zipfile模块的用法,包括创建ZIP文件、读取ZIP文件、解压ZIP文件等内容,并提供两个示例。 示例1:创建ZIP文件 以下是一个使用zipfile创建ZIP文件的示例: import zipfile with …

    python 2023年5月15日
    00
  • python多线程扫描端口(线程池)

    下面我将详细讲解“python多线程扫描端口(线程池)”的完整攻略。 线程池的概念 线程池是一种应对高并发、高频率任务的一种解决方案,它将线程复用起来,减少了创建、销毁线程的开销,从而提高了程序的效率。 当我们需要同时进行多个扫描时,就需要采用多线程的方式来进行。而线程池则是一种比较好用的多线程技术,它可以控制线程的数量,避免资源的浪费,让线程在需要时自动重…

    python 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部