Python以表格形式輸出內(nèi)容到終端的常見(jiàn)方式
在Python編程語(yǔ)言中,我們經(jīng)常需要在終端輸出數(shù)據(jù),并且有時(shí)候需要以表格的形式展示數(shù)據(jù)。Python提供了一些庫(kù)來(lái)幫助我們實(shí)現(xiàn)在終端輸出表格的功能,這樣可以讓數(shù)據(jù)更加直觀和易于閱讀。本文將介紹如何在Python中使用這些庫(kù)來(lái)輸出表格,并結(jié)合代碼示例來(lái)幫助讀者更好地理解。
使用tabulate庫(kù)輸出表格
在Python中,一個(gè)常用的庫(kù)來(lái)輸出表格是tabulate庫(kù)。這個(gè)庫(kù)可以讓我們?cè)诮K端輸出美觀的表格,支持多種不同的格式化輸出。首先,我們需要安裝tabulate庫(kù):
pip install tabulate
接下來(lái),我們來(lái)看一個(gè)使用tabulate庫(kù)輸出表格的簡(jiǎn)單示例:
from tabulate import tabulate
data = [
["Alice", 24],
["Bob", 30],
["Charlie", 28]
]
headers = ["Name", "Age"]
table = tabulate(data, headers=headers, tablefmt="grid")
print(table)
運(yùn)行上面的代碼,我們將會(huì)在終端輸出如下的表格:
+---------+-----+
| Name | Age |
+---------+-----+
| Alice | 24 |
| Bob | 30 |
| Charlie | 28 |
+---------+-----+
可以看到,使用tabulate庫(kù)可以簡(jiǎn)單快速地輸出一個(gè)美觀的表格,使數(shù)據(jù)更易于理解。
使用prettytable庫(kù)輸出表格
除了tabulate庫(kù)之外,還有一個(gè)常用的庫(kù)是prettytable庫(kù)。這個(gè)庫(kù)也可以用來(lái)在終端輸出表格,并且提供了更多的自定義選項(xiàng)。同樣,我們需要先安裝prettytable庫(kù):
pip install prettytable
接下來(lái),我們來(lái)看一個(gè)使用prettytable庫(kù)輸出表格的示例:
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)
運(yùn)行上面的代碼,我們會(huì)在終端輸出類似下面的表格:
+---------+-----+
| Name | Age |
+---------+-----+
| Alice | 24 |
| Bob | 30 |
| Charlie | 28 |
+---------+-----+
prettytable庫(kù)同樣提供了簡(jiǎn)單易用的接口來(lái)輸出表格,可以根據(jù)自己的需求選擇合適的庫(kù)來(lái)使用。
餅狀圖示例
除了輸出表格,有時(shí)候我們也需要在終端中輸出一些圖表,比如餅狀圖。在Python中,我們可以使用matplotlib庫(kù)來(lái)實(shí)現(xiàn)繪制餅狀圖,并且可以將其輸出到終端。
下面是一個(gè)簡(jiǎn)單的繪制餅狀圖并輸出到終端的示例:
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()
運(yùn)行上面的代碼,我們將在終端輸出一個(gè)簡(jiǎn)單的餅狀圖,展示每個(gè)部分的占比情況。
關(guān)系圖示例
另外,有時(shí)候我們也需要在終端中輸出關(guān)系圖,展示數(shù)據(jù)之間的關(guān)系。在Python中,我們可以使用graphviz庫(kù)來(lái)實(shí)現(xiàn)繪制關(guān)系圖,并且輸出到終端。
下面是一個(gè)簡(jiǎn)單的繪制關(guān)系圖并輸出到終端的示例:
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)
運(yùn)行上面的代碼,我們將在終端輸出一個(gè)簡(jiǎn)單的關(guān)系圖,展示數(shù)據(jù)之間的關(guān)系。graphviz庫(kù)提供了強(qiáng)大的功能來(lái)繪制各種類型的圖形,可以根據(jù)自己的需求來(lái)繪制不同樣式的關(guān)系圖。
使用Python的第三方庫(kù)Pandas輸出表格
Pandas是Python的一個(gè)數(shù)據(jù)處理庫(kù),可以用于讀取、處理和輸出表格數(shù)據(jù)。安裝方法:
pip install pandas
使用方法如下:
import pandas as pd data = [["張三", "20", "男"], ["李四", "22", "女"]] df = pd.DataFrame(data, columns=["姓名", "年齡", "性別"]) print(df)
輸出結(jié)果如下:
姓名 年齡 性別
0 張三 20 男
1 李四 22 女
其中,`pd.DataFrame`創(chuàng)建一個(gè)表格對(duì)象,`columns`設(shè)置表格的列名,數(shù)據(jù)通過(guò)列表傳入。
使用Texttable庫(kù)
要使用 Texttable 庫(kù)打印以上的表格,你可以按照以下示例代碼進(jìn)行操作:
from texttable import Texttable
headers = ['水果', '價(jià)格', '國(guó)家']
fruits = [
['蘋(píng)果', 4, '中國(guó)'],
['橙子', 5, '中國(guó)'],
['梨', 6, '中國(guó)'],
['菠蘿', 7, '中國(guó)'],
]
table = Texttable()
table.set_cols_align(['l', 'r', 'l'])
table.header(headers)
table.add_rows(fruits)
print(table.draw())
運(yùn)行以上代碼,將會(huì)輸出如下的表格:
+--------+-------+--------+
| 水果 | 價(jià)格 | 國(guó)家 |
+========+=======+========+
| 蘋(píng)果 | 4 | 中國(guó) |
+--------+-------+--------+
| 橙子 | 5 | 中國(guó) |
+--------+-------+--------+
| 梨 | 6 | 中國(guó) |
+--------+-------+--------+
| 菠蘿 | 7 | 中國(guó) |
+--------+-------+--------+
在這個(gè)示例中,我們首先導(dǎo)入 Texttable 類。然后,創(chuàng)建一個(gè) Texttable 對(duì)象,并使用 set_cols_align() 方法設(shè)置列的對(duì)齊方式(‘l’ 表示左對(duì)齊,‘r’ 表示右對(duì)齊,‘c’ 表示居中對(duì)齊)。接下來(lái),使用 header() 方法設(shè)置表頭,使用 add_rows() 方法逐行添加數(shù)據(jù)。最后,使用 draw() 方法生成表格的字符串表示,并使用 print() 函數(shù)打印出來(lái)。
Texttable 提供了一些其他的方法和選項(xiàng),可以用于自定義表格的樣式和格式。你可以查閱 Texttable 的文檔以獲取更多詳細(xì)信息,并根據(jù)需要進(jìn)行定制。
到此這篇關(guān)于Python以表格形式輸出內(nèi)容到終端的常見(jiàn)方式的文章就介紹到這了,更多相關(guān)Python終端輸出表格內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PyQt5 文本輸入框自動(dòng)補(bǔ)全QLineEdit的實(shí)現(xiàn)示例
這篇文章主要介紹了PyQt5 文本輸入框自動(dòng)補(bǔ)全QLineEdit的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
TensorFlow使用Graph的基本操作的實(shí)現(xiàn)
這篇文章主要介紹了TensorFlow使用Graph的基本操作的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
python 在sql語(yǔ)句中使用%s,%d,%f說(shuō)明
這篇文章主要介紹了python 在sql語(yǔ)句中使用%s,%d,%f說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
tensorflow對(duì)圖像進(jìn)行拼接的例子
今天小編就為大家分享一篇tensorflow對(duì)圖像進(jìn)行拼接的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
Django通過(guò)dwebsocket實(shí)現(xiàn)websocket的例子
今天小編就為大家分享一篇Django通過(guò)dwebsocket實(shí)現(xiàn)websocket的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
Python實(shí)現(xiàn)獲取域名所用服務(wù)器的真實(shí)IP
本文是給大家分享的使用python獲取到域名所在服務(wù)器的真實(shí)IP,原因是現(xiàn)在很多的網(wǎng)站都使用了CDN,大家很難直接查到域名的服務(wù)器的IP,本文是使用了一個(gè)巧妙的方法,詳情請(qǐng)仔細(xì)看看下文吧2015-10-10
基于Python輕松制作一個(gè)股票K線圖網(wǎng)站
在當(dāng)今這個(gè)人手一個(gè)?Web?服務(wù)的年代,GUI?程序還是沒(méi)有?Web?服務(wù)來(lái)的香啊。所以本文將用Python制作一個(gè)簡(jiǎn)單的股票K線圖網(wǎng)站,感興趣的可以了解一下2022-09-09
Python與人工神經(jīng)網(wǎng)絡(luò):使用神經(jīng)網(wǎng)絡(luò)識(shí)別手寫(xiě)圖像介紹
文章主要介紹什么是神經(jīng)網(wǎng)絡(luò),感知機(jī)的概念和模型,以及新一代的S曲線神經(jīng)元系統(tǒng)等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12

