日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達者為師

網(wǎng)站首頁 編程語言 正文

在Python中如何優(yōu)雅地創(chuàng)建表格的實現(xiàn)_python

作者:趙卓不凡 ? 更新時間: 2022-04-03 編程語言

1. 引言

如果能夠?qū)⑽覀兊臒o序數(shù)據(jù)快速組織成更易讀的格式,對于數(shù)據(jù)分析非常有幫助。 Python 提供了將某些表格數(shù)據(jù)類型輕松轉(zhuǎn)換為格式良好的純文本表格的能力,這就是 tabulate 庫。

閑話少說,我們直接開始吧。 :)

2. 準(zhǔn)備工作

安裝tabulate庫
安裝tabulate庫非常容易,使用pip即可安裝,代碼如下:

pip install tabulate

導(dǎo)入tabulate函數(shù)
接著我們需要導(dǎo)入我們需要的tabulte函數(shù),如下:

from tabulate import tabulate

準(zhǔn)備工作做好后,接下來我們來舉個栗子。

3. 舉個栗子

3.1 使用list生成表格

接著我們假設(shè)我們有以下數(shù)據(jù):

table = [['First Name', 'Last Name', 'Age'], 
['John', 'Smith', 39], 
['Mary', 'Jane', 25], 
['Jennifer', 'Doe', 28]]

接著我們可以使用 tabulate 函數(shù)將上述數(shù)據(jù)組織成一個更易讀的表格形式,代碼如下:

print(tabulate(table))

結(jié)果如下:

在這里插入圖片描述

由于上述list中的第一個列表包含每列的名稱,我們可以使用以下參數(shù)將列名單獨顯示出來,代碼如下:

print(tabulate(table, headers='firstrow'))

結(jié)果如下:

在這里插入圖片描述

tabulate 函數(shù)還包提供一個 tablefmt 參數(shù),它允許我們進一步改進表格的外觀,代碼如下:

print(tabulate(table, headers='firstrow', tablefmt='grid'))

結(jié)果如下:

在這里插入圖片描述

相比grid,我更喜歡對 tablefmt 使用fancy_grid參數(shù),其表現(xiàn)形式如下:

print(tabulate(table, headers='firstrow', tablefmt='fancy_grid'))

結(jié)果如下:

在這里插入圖片描述

3.2 使用dict生成表格

當(dāng)然,在Python中我們也可以使用字典來生成相應(yīng)的表格。代碼如下:

info = {'First Name': ['John', 'Mary', 'Jennifer'], 
'Last Name': ['Smith', 'Jane', 'Doe'], 
'Age': [39, 25, 28]}

在字典的情況下,鍵通常是列的標(biāo)題,值將是這些列的元素取值。我們通常通過傳遞“keys”作為 headers 參數(shù)的參數(shù)來指定鍵是表格的標(biāo)題:

print(tabulate(info, headers='keys'))

輸出如下:

在這里插入圖片描述

當(dāng)然,此時我們也可以使用 tablefmt 參數(shù)來改善表格的外觀,代碼如下:

print(tabulate(info, headers='keys', tablefmt='fancy_grid'))

輸出如下:

在這里插入圖片描述

3.3 增加索引列

進一步來說,我們還可以使用showindex參數(shù)來向表格中添加索引列,代碼如下:

在這里插入圖片描述

3.4 缺失值處理

如果我們從字典中移走’Jennifer’,此時我們的表格將會包含一個空白單元格,代碼如下:

print(tabulate({'First Name': ['John', 'Mary'], 
'Last Name': ['Smith', 'Jane', 'Doe'], 
'Age': [39, 25, 28]}, headers="keys",
 tablefmt='fancy_grid'))

輸出如下:

在這里插入圖片描述

有時候,我們覺得缺失值用空白格表示不太美觀,此時我們可以設(shè)置默認值來顯示,代碼如下:

print(tabulate({'First Name': ['John', 'Mary'], 
'Last Name': ['Smith', 'Jane', 'Doe'], 
'Age': [39, 25, 28]}, headers="keys",
 tablefmt='fancy_grid'))

4. 總結(jié)

本文介紹了在python中使用tabulate庫來創(chuàng)建表格,并針對輸出形式進行不斷改進來美化輸出效果,并給出了代碼示例。

原文鏈接:https://blog.csdn.net/sgzqc/article/details/122608867

欄目分類
最近更新