欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python可以美化表格數(shù)據(jù)輸出結(jié)果的兩個(gè)工具

 更新時(shí)間:2022年06月30日 14:35:56   作者:Python?學(xué)習(xí)者  
這篇文章主要介紹了python可以美化表格數(shù)據(jù)輸出結(jié)果的兩個(gè)工具,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

前言

在用python處理表格數(shù)據(jù)中,這其中的工作重點(diǎn)就是對(duì)表格類型的數(shù)據(jù)進(jìn)行梳理、計(jì)算和展示,本文重點(diǎn)介紹展示這個(gè)方面的工作。

首先我們看一個(gè)案例,定義一個(gè)數(shù)組形式的表格數(shù)據(jù):

[dechin@dechin-manjaro table]$ ipython
Python 3.8.5 (default, Sep  4 2020, 07:30:14) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.19.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: table=[('a',1,2,3),('b',2,3,4)]

In [2]: print(table)
[('a', 1, 2, 3), ('b', 2, 3, 4)]

當(dāng)我們直接打印這個(gè)表格數(shù)據(jù)的時(shí)候,發(fā)現(xiàn)效果非常的難看。雖然我們可以從這個(gè)表格中獲取到同樣的信息,但是這種數(shù)據(jù)展示的方法對(duì)于我們直接從打印輸出中獲取數(shù)據(jù)是非常不利的。

1.使用tabulate美化表格輸出

首先介紹一個(gè)工具tabulate,可以直接打印數(shù)組格式的表格數(shù)據(jù),并且有多種輸出格式可選。安裝方法同樣可以用pip來(lái)進(jìn)行管理:

[dechin@dechin-manjaro table]$ python3 -m pip install tabulate
Requirement already satisfied: tabulate in /home/dechin/anaconda3/lib/python3.8/site-packages (0.8.9)

安裝很容易,也沒有其他依賴。

接下來(lái)我們用ipython來(lái)展示一些基本用法:

[dechin@dechin-manjaro table]$ ipython
Python 3.8.5 (default, Sep  4 2020, 07:30:14) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.19.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: from tabulate import tabulate
In [2]: import numpy as np
In [3]: header=['index']+list(range(4)) # 表頭的定義
In [4]: header
Out[4]: ['index', 0, 1, 2, 3]
In [8]: table=[('Alice',1,2,3,4),('Bob',2,3,4,5)] # 表格內(nèi)容的定義
In [9]: table
Out[9]: [('Alice', 1, 2, 3, 4), ('Bob', 2, 3, 4, 5)]
In [11]: print(tabulate(table,headers=header,tablefmt='grid')) # 用grid的格式打印表格內(nèi)容
+---------+-----+-----+-----+-----+
| index   |   0 |   1 |   2 |   3 |
+=========+=====+=====+=====+=====+
| Alice   |   1 |   2 |   3 |   4 |
+---------+-----+-----+-----+-----+
| Bob     |   2 |   3 |   4 |   5 |
+---------+-----+-----+-----+-----+

In [12]: print(tabulate(table,headers=header,tablefmt='fancy_grid')) # 用fancy_grid的格式打印
╒═════════╤═════╤═════╤═════╤═════╕
│ index   │   0 │   1 │   2 │   3 │
╞═════════╪═════╪═════╪═════╪═════╡
│ Alice   │   1 │   2 │   3 │   4 │
├─────────┼─────┼─────┼─────┼─────┤
│ Bob     │   2 │   3 │   4 │   5 │
╘═════════╧═════╧═════╧═════╧═════╛

在這個(gè)案例中,我們分別產(chǎn)生了數(shù)組格式的表頭和表格內(nèi)容,然后用tabulate進(jìn)行封裝之后再打印出來(lái)。由于tabulate支持多種格式的輸出,這里我們展示的僅有g(shù)rid和fancy_grid兩種個(gè)人比較喜歡的格式

其他類型的格式還有:

"plain"
"simple"
"github"
"grid"
"fancy_grid"
"pipe"
"orgtbl"
"jira"
"presto"
"psql"
"rst"
"mediawiki"
"moinmoin"
"youtrack"
"html"
"latex"
"latex_raw"
"latex_booktabs"
"textile"

2.使用prettytable美化輸出

類似于tabulate的,prettytable的主要目的也是規(guī)范化的美化表格數(shù)據(jù)的輸出,但是在使用方法上略有差異,在不同的場(chǎng)景下可以使用不同的方案。

這里我們先看一下prettytable的安裝,同樣可以使用pip來(lái)進(jìn)行管理:

[dechin@dechin-manjaro table]$ python3 -m pip install prettytable
Collecting prettytable
  Downloading prettytable-2.1.0-py3-none-any.whl (22 kB)
Requirement already satisfied: wcwidth in /home/dechin/anaconda3/lib/python3.8/site-packages (from prettytable) (0.2.5)
Installing collected packages: prettytable
Successfully installed prettytable-2.1.0

安裝完成后我們用一個(gè)py文件的示例來(lái)展示其用法:

from prettytable import PrettyTable
tb = PrettyTable() # 生成表格對(duì)象
tb.field_names = ['Index', 0, 1, 2, 3] # 定義表頭
tb.add_row(['Alice',1,2,3,4]) # 添加一行,列是column
tb.add_row(['Bob',2,3,4,5])
print (tb) # 打印輸出

代碼的執(zhí)行結(jié)果如下:

[dechin@dechin-manjaro table]$ python3 pt_test.py 
+-------+---+---+---+---+
| Index | 0 | 1 | 2 | 3 |
+-------+---+---+---+---+
| Alice | 1 | 2 | 3 | 4 |
|  Bob  | 2 | 3 | 4 | 5 |
+-------+---+---+---+---+

由于使用的案例跟上面介紹的tabulate是一樣的,所以輸出結(jié)果也類似,相當(dāng)于多了一種輸出格式。但是除了輸出格式之外,我們發(fā)現(xiàn)prettytable可以很好的利用行和列的添加的形式來(lái)進(jìn)行表格操作,操作習(xí)慣更接近于數(shù)據(jù)庫(kù)的操作形式,因此對(duì)于經(jīng)常使用數(shù)據(jù)庫(kù)的人而言,prettytable可能是一種更好的表格數(shù)據(jù)輸出解決方案。

總結(jié)

本文介紹了兩種表格數(shù)據(jù)的打印工具:tabulate和prettytable的安裝與基本使用方法。由于表格數(shù)據(jù)本身是沒有對(duì)輸出格式進(jìn)行規(guī)范化的,因此打印出來(lái)的數(shù)據(jù)會(huì)顯得比較雜亂,不利于直觀的閱讀。因此引入這兩種工具,加強(qiáng)了輸出結(jié)果的可讀性。這兩者在使用上各有優(yōu)劣,tabulate支持更多形式的表格樣式,而prettytable則使用了更加接近于數(shù)據(jù)庫(kù)的操作形式,對(duì)于部分用戶而言有天然的生態(tài)優(yōu)勢(shì)。

到此這篇關(guān)于python可以美化表格數(shù)據(jù)輸出結(jié)果的兩個(gè)工具的文章就介紹到這了,更多相關(guān)python美化表格輸出內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)去除列表中重復(fù)元素的方法小結(jié)【4種方法】

    Python實(shí)現(xiàn)去除列表中重復(fù)元素的方法小結(jié)【4種方法】

    這篇文章主要介紹了Python實(shí)現(xiàn)去除列表中重復(fù)元素的方法,結(jié)合實(shí)例形式總結(jié)分析了Python列表去重的4種實(shí)現(xiàn)方法,涉及Python針對(duì)列表的遍歷、判斷、排序等相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • Python并發(fā)concurrent.futures和asyncio實(shí)例

    Python并發(fā)concurrent.futures和asyncio實(shí)例

    這篇文章主要介紹了Python并發(fā)concurrent.futures和asyncio實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-05-05
  • 在keras中獲取某一層上的feature map實(shí)例

    在keras中獲取某一層上的feature map實(shí)例

    今天小編就為大家分享一篇在keras中獲取某一層上的feature map實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-01-01
  • python調(diào)用攝像頭拍攝數(shù)據(jù)集

    python調(diào)用攝像頭拍攝數(shù)據(jù)集

    這篇文章主要為大家詳細(xì)介紹了Python調(diào)用攝像頭拍攝數(shù)據(jù)集,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • python?對(duì)excel交互工具的使用詳情

    python?對(duì)excel交互工具的使用詳情

    這篇文章主要介紹了python?對(duì)excel交互工具的使用詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • 在Python中COM口的調(diào)用方法

    在Python中COM口的調(diào)用方法

    今天小編就為大家分享一篇在Python中COM口的調(diào)用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-07-07
  • Linux下python與C++使用dlib實(shí)現(xiàn)人臉檢測(cè)

    Linux下python與C++使用dlib實(shí)現(xiàn)人臉檢測(cè)

    這篇文章主要為大家詳細(xì)介紹了Linux下python與C++使用dlib實(shí)現(xiàn)人臉檢測(cè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python利用Turtle庫(kù)繪制一顆櫻花樹

    Python利用Turtle庫(kù)繪制一顆櫻花樹

    后唐李煜曾說道,櫻花落盡春將困,秋千架下歸時(shí)。漏暗斜月遲遲,花在枝。櫻花落盡的時(shí)候春天也將過去了,秋千架下歸去時(shí)。天上的斜月姍姍來(lái)遲,花還在枝頭。本文將用Python+Turtle繪制一顆櫻花樹,感興趣的可以嘗試一下
    2022-04-04
  • Python數(shù)據(jù)結(jié)構(gòu)鏈表操作從基礎(chǔ)到高級(jí)實(shí)例深究

    Python數(shù)據(jù)結(jié)構(gòu)鏈表操作從基礎(chǔ)到高級(jí)實(shí)例深究

    鏈表是一種基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu),它由一系列節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)都包含數(shù)據(jù)和指向下一個(gè)節(jié)點(diǎn)的引用,在Python中,可以使用類來(lái)實(shí)現(xiàn)鏈表,本文將介紹如何實(shí)現(xiàn)鏈表,并提供一些豐富的示例代碼來(lái)幫助你更好地理解其原理和應(yīng)用
    2023-12-12
  • 動(dòng)態(tài)創(chuàng)建類實(shí)例代碼

    動(dòng)態(tài)創(chuàng)建類實(shí)例代碼

    Python中要?jiǎng)?chuàng)建一個(gè)類的實(shí)例,要首先導(dǎo)入該類或者該類所屬的模塊。
    2009-10-10

最新評(píng)論