Python以表格形式输出内容到终端的常见方式

 更新时间:2025年05月08日 08:49:16   作者:mob649e81593bda  
在Python编程语言中,我们经常需要在终端输出数据,并且有时候需要以表格的形式展示数据,本文将介绍如何在Python中使用这些库来输出表格,需要的可以参考下

在Python编程语言中,我们经常需要在终端输出数据,并且有时候需要以表格的形式展示数据。Python提供了一些库来帮助我们实现在终端输出表格的功能,这样可以让数据更加直观和易于阅读。本文将介绍如何在Python中使用这些库来输出表格,并结合代码示例来帮助读者更好地理解。

使用tabulate库输出表格

在Python中,一个常用的库来输出表格是tabulate库。这个库可以让我们在终端输出美观的表格,支持多种不同的格式化输出。首先,我们需要安装tabulate库:

pip install tabulate

接下来,我们来看一个使用tabulate库输出表格的简单示例:

from tabulate import tabulate

data = [
    ["Alice", 24],
    ["Bob", 30],
    ["Charlie", 28]
]

headers = ["Name", "Age"]

table = tabulate(data, headers=headers, tablefmt="grid")
print(table)

运行上面的代码,我们将会在终端输出如下的表格:

+---------+-----+
| Name    | Age |
+---------+-----+
| Alice   |  24 |
| Bob     |  30 |
| Charlie |  28 |
+---------+-----+

可以看到,使用tabulate库可以简单快速地输出一个美观的表格,使数据更易于理解。

使用prettytable库输出表格

除了tabulate库之外,还有一个常用的库是prettytable库。这个库也可以用来在终端输出表格,并且提供了更多的自定义选项。同样,我们需要先安装prettytable库:

pip install prettytable

接下来,我们来看一个使用prettytable库输出表格的示例:

from prettytable import PrettyTable

table = PrettyTable()

table.field_names = ["Name", "Age"]
table.add_row(["Alice", 24])
table.add_row(["Bob", 30])
table.add_row(["Charlie", 28])

print(table)

运行上面的代码,我们会在终端输出类似下面的表格:

+---------+-----+
|  Name   | Age |
+---------+-----+
|  Alice  |  24 |
|   Bob   |  30 |
| Charlie |  28 |
+---------+-----+

prettytable库同样提供了简单易用的接口来输出表格,可以根据自己的需求选择合适的库来使用。

饼状图示例

除了输出表格,有时候我们也需要在终端中输出一些图表,比如饼状图。在Python中,我们可以使用matplotlib库来实现绘制饼状图,并且可以将其输出到终端。

下面是一个简单的绘制饼状图并输出到终端的示例:

import matplotlib.pyplot as plt

sizes = [25, 35, 20, 20]
labels = ['A', 'B', 'C', 'D']

plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.show()

运行上面的代码,我们将在终端输出一个简单的饼状图,展示每个部分的占比情况。

关系图示例

另外,有时候我们也需要在终端中输出关系图,展示数据之间的关系。在Python中,我们可以使用graphviz库来实现绘制关系图,并且输出到终端。

下面是一个简单的绘制关系图并输出到终端的示例:

from graphviz import Digraph

dot = Digraph()

dot.node('A', 'Alice')
dot.node('B', 'Bob')
dot.node('C', 'Charlie')

dot.edges(['AB', 'BC'])

print(dot.source)

运行上面的代码,我们将在终端输出一个简单的关系图,展示数据之间的关系。graphviz库提供了强大的功能来绘制各种类型的图形,可以根据自己的需求来绘制不同样式的关系图。

使用Python的第三方库Pandas输出表格

Pandas是Python的一个数据处理库,可以用于读取、处理和输出表格数据。安装方法:

pip install pandas

使用方法如下:

import pandas as pd
data = [["张三", "20", "男"], ["李四", "22", "女"]]
df = pd.DataFrame(data, columns=["姓名", "年龄", "性别"])
print(df)

输出结果如下:

姓名 年龄 性别
0 张三 20 男
1 李四 22 女

其中,`pd.DataFrame`创建一个表格对象,`columns`设置表格的列名,数据通过列表传入。

使用Texttable库

要使用 Texttable 库打印以上的表格,你可以按照以下示例代码进行操作:

from texttable import Texttable

headers = ['水果', '价格', '国家']

fruits = [
    ['苹果', 4, '中国'],
    ['橙子', 5, '中国'],
    ['梨', 6, '中国'],
    ['菠萝', 7, '中国'],
]

table = Texttable()
table.set_cols_align(['l', 'r', 'l'])
table.header(headers)
table.add_rows(fruits)

print(table.draw())

运行以上代码,将会输出如下的表格:

+--------+-------+--------+
|  水果  | 价格  |  国家  |
+========+=======+========+
| 苹果   |  4    | 中国 |
+--------+-------+--------+
| 橙子   |  5    | 中国 |
+--------+-------+--------+
| 梨     |  6    | 中国 |
+--------+-------+--------+
| 菠萝   |  7    | 中国 |
+--------+-------+--------+

在这个示例中,我们首先导入 Texttable 类。然后,创建一个 Texttable 对象,并使用 set_cols_align() 方法设置列的对齐方式(‘l’ 表示左对齐,‘r’ 表示右对齐,‘c’ 表示居中对齐)。接下来,使用 header() 方法设置表头,使用 add_rows() 方法逐行添加数据。最后,使用 draw() 方法生成表格的字符串表示,并使用 print() 函数打印出来。

Texttable 提供了一些其他的方法和选项,可以用于自定义表格的样式和格式。你可以查阅 Texttable 的文档以获取更多详细信息,并根据需要进行定制。

到此这篇关于Python以表格形式输出内容到终端的常见方式的文章就介绍到这了,更多相关Python终端输出表格内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PyQt5 文本输入框自动补全QLineEdit的实现示例

    PyQt5 文本输入框自动补全QLineEdit的实现示例

    这篇文章主要介绍了PyQt5 文本输入框自动补全QLineEdit的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • TensorFlow使用Graph的基本操作的实现

    TensorFlow使用Graph的基本操作的实现

    这篇文章主要介绍了TensorFlow使用Graph的基本操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • python 在sql语句中使用%s,%d,%f说明

    python 在sql语句中使用%s,%d,%f说明

    这篇文章主要介绍了python 在sql语句中使用%s,%d,%f说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • tensorflow对图像进行拼接的例子

    tensorflow对图像进行拼接的例子

    今天小编就为大家分享一篇tensorflow对图像进行拼接的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Django通过dwebsocket实现websocket的例子

    Django通过dwebsocket实现websocket的例子

    今天小编就为大家分享一篇Django通过dwebsocket实现websocket的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python实现获取域名所用服务器的真实IP

    Python实现获取域名所用服务器的真实IP

    本文是给大家分享的使用python获取到域名所在服务器的真实IP,原因是现在很多的网站都使用了CDN,大家很难直接查到域名的服务器的IP,本文是使用了一个巧妙的方法,详情请仔细看看下文吧
    2015-10-10
  • 跟老齐学Python之折腾一下目录

    跟老齐学Python之折腾一下目录

    本讲只关注os.path,真所谓“弱水三千,只取一瓢”,为什么这么偏爱它呢?因为它和前面已经讲过的文件操作进行配合,就能够随心所欲操作各个地方的文件了
    2014-10-10
  • Python多线程URL性能优化方法详解

    Python多线程URL性能优化方法详解

    这篇文章主要介绍了Python多线程URL性能优化方法,本文将通过一个实际案例,详细介绍如何使用ThreadPoolExecutor实现多线程URL处理,并加入时间统计功能进行性能分析,需要的朋友可以参考下
    2025-04-04
  • 基于Python轻松制作一个股票K线图网站

    基于Python轻松制作一个股票K线图网站

    在当今这个人手一个 Web 服务的年代,GUI 程序还是没有 Web 服务来的香啊。所以本文将用Python制作一个简单的股票K线图网站,感兴趣的可以了解一下
    2022-09-09
  • Python与人工神经网络:使用神经网络识别手写图像介绍

    Python与人工神经网络:使用神经网络识别手写图像介绍

    文章主要介绍什么是神经网络,感知机的概念和模型,以及新一代的S曲线神经元系统等相关内容,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12

最新评论