Python利用prettytable實現格式化輸出內容

目錄

楔子

我們用 MySQL 客戶端查詢數據得時候,是以下面這種格式顯示得:

內容展示得非常漂亮,而 Python 有一個第三方模塊叫 prettytable,專門用來將數據以上面這種格式輸出,我們來看一下用法。

添加表頭、添加行、添加列

類似于數據庫中得表,由表頭(或者說字段名),以及每一行得內容組成。

from?prettytable?import?PrettyTable#?傳入得?name、age、country?相當于表頭tb?=?PrettyTable(["name",?"age",?"country"])#?調用?add_row?添加行記錄tb.add_row(["Jack?Morrison",?49,?"America"])tb.add_row(["Shimada?Genji",?35,?"Japan"])tb.add_row(["Shimada?Hanzo",?38,?"Japan"])tb.add_row(["Angela?Ziegler",?37,?"Switzerland"])print(tb)"""+----------------+-----+-------------+|??????name??????|?age?|???country???|+----------------+-----+-------------+|?Jack?Morrison??|??49?|???America???||?Shimada?Genji??|??35?|????Japan????||?Shimada?Hanzo??|??38?|????Japan????||?Angela?Ziegler?|??37?|?Switzerland?|+----------------+-----+-------------+"""

如果在編寫得過程中,我們需要臨時添加一列,prettytable 也是支持得。

from?prettytable?import?PrettyTabletb?=?PrettyTable(["name",?"age",?"country"])tb.add_row(["Jack?Morrison",?49,?"America"])tb.add_row(["Shimada?Genji",?35,?"Japan"])tb.add_row(["Shimada?Hanzo",?38,?"Japan"])tb.add_row(["Angela?Ziegler",?37,?"Switzerland"])#?調用?add_column?添加一列tb.add_column("gender",??????????????["male",?"male",?"male",?"female"])print(tb)"""+----------------+-----+-------------+--------+|??????name??????|?age?|???country???|?gender?|+----------------+-----+-------------+--------+|?Jack?Morrison??|??49?|???America???|??male??||?Shimada?Genji??|??35?|????Japan????|??male??||?Shimada?Hanzo??|??38?|????Japan????|??male??||?Angela?Ziegler?|??37?|?Switzerland?|?female?|+----------------+-----+-------------+--------+"""

輸出內容是不是和 MySQL數據庫類似呢。

此外 prettytable 還支持從 csv、數據庫、html 等數據源中導入數據,但說實話,從數據源讀取數據我們一般使用 pandas,并且還會伴隨著數據處理。而使用 prettytable 只是為了讓程序中產生得信息,能夠以結構化得形式打印,很少會從文件或數據庫里面讀數據。

輸出指定行、指定列

我們也可以輸出 table 得指定行、指定列。

from?prettytable?import?PrettyTabletb?=?PrettyTable(["name",?"age",?"country",?"gender"])tb.add_row(["Jack?Morrison",?49,?"America",?"male"])tb.add_row(["Shimada?Genji",?35,?"Japan",?"male"])tb.add_row(["Shimada?Hanzo",?38,?"Japan",?"male"])tb.add_row(["Angela?Ziegler",?37,?"Switzerland",?"female"])#?只輸出?name?和?age?兩列#?start?和?end?表示開始和結束得行數(從?0?開始)print(tb.get_string(fields=["name",?"age"],????????????????????start=1,?end=3))"""+---------------+-----+|??????name?????|?age?|+---------------+-----+|?Shimada?Genji?|??35?||?Shimada?Hanzo?|??38?|+---------------+-----+"""#?此外可以用來進行排序print(tb.get_string(sortby="age",?reversesort=True))"""+----------------+-----+-------------+--------+|??????name??????|?age?|???country???|?gender?|+----------------+-----+-------------+--------+|?Jack?Morrison??|??49?|???America???|??male??||?Shimada?Hanzo??|??38?|????Japan????|??male??||?Angela?Ziegler?|??37?|?Switzerland?|?female?||?Shimada?Genji??|??35?|????Japan????|??male??|+----------------+-----+-------------+--------+"""

設置表格樣式

表格也支持幾種不同得樣式,供我們選擇。

from?prettytable?import?*tb?=?PrettyTable(["name",?"age",?"country",?"gender"])tb.add_row(["Jack?Morrison",?49,?"America",?"male"])tb.add_row(["Shimada?Genji",?35,?"Japan",?"male"])tb.add_row(["Shimada?Hanzo",?38,?"Japan",?"male"])tb.add_row(["Angela?Ziegler",?37,?"Switzerland",?"female"])#?樣式支持以下幾種:#?DEFAULT、MSWORD_FRIENDLY、PLAIN_COLUMNS、RANDOM#?之前得樣式就是?DEFAULTtb.set_style(MSWORD_FRIENDLY)print(tb)"""|??????name??????|?age?|???country???|?gender?||?Jack?Morrison??|??49?|???America???|??male??||?Shimada?Genji??|??35?|????Japan????|??male??||?Shimada?Hanzo??|??38?|????Japan????|??male??||?Angela?Ziegler?|??37?|?Switzerland?|?female?|"""tb.set_style(PLAIN_COLUMNS)print(tb)"""?????name?????????????age??????????country??????????gender????????Jack?Morrison??????????49??????????America???????????male?????????Shimada?Genji??????????35???????????Japan????????????male?????????Shimada?Hanzo??????????38???????????Japan????????????male?????????Angela?Ziegler?????????37????????Switzerland????????female?????"""tb.set_style(RANDOM)print(tb)""";+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;.????????name??????????????age???????????country???????????gender?????.;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;.???Jack?Morrison???????????49???????????America????????????male??????..???Shimada?Genji???????????35????????????Japan?????????????male??????..???Shimada?Hanzo???????????38????????????Japan?????????????male??????..???Angela?Ziegler??????????37?????????Switzerland?????????female?????.;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;"""

說實話,還是默認得 DEFAULT 樣式最好看。

設置對齊方式

from?prettytable?import?*tb?=?PrettyTable(["name",?"age",?"country",?"gender"])tb.add_row(["Jack?Morrison",?49,?"America",?"male"])tb.add_row(["Shimada?Genji",?35,?"Japan",?"male"])tb.add_row(["Shimada?Hanzo",?38,?"Japan",?"male"])tb.add_row(["Angela?Ziegler",?37,?"Switzerland",?"female"])#?l?代表左對齊,c?代表居中,r?代表右對齊#?默認居中tb.align["name"]?=?"l"tb.align["age"]?=?"c"tb.align["country"]?=?"r"print(tb)"""+----------------+-----+-------------+--------+|?name???????????|?age?|?????country?|?gender?|+----------------+-----+-------------+--------+|?Jack?Morrison??|??49?|?????America?|??male??||?Shimada?Genji??|??35?|???????Japan?|??male??||?Shimada?Hanzo??|??38?|???????Japan?|??male??||?Angela?Ziegler?|??37?|?Switzerland?|?female?|+----------------+-----+-------------+--------+"""

設置邊框樣式

在 PrettyTable 中,邊框由三個部分組成:橫邊框,豎邊框,和邊框連接符,我們都可以修改。

from?prettytable?import?*tb?=?PrettyTable(["name",?"age",?"country",?"gender"])tb.add_row(["Jack?Morrison",?49,?"America",?"male"])tb.add_row(["Shimada?Genji",?35,?"Japan",?"male"])tb.add_row(["Shimada?Hanzo",?38,?"Japan",?"male"])tb.add_row(["Angela?Ziegler",?37,?"Switzerland",?"female"])#?是否顯示邊框,默認為Truetb.border?=?True#?橫邊框tb.horizontal_char?=?'^'#?豎邊框tb.vertical_char?=?'>'#?邊框連接符tb.junction_char='~'print(tb)"""~^^^^^^^^^^^^^^^^~^^^^^~^^^^^^^^^^^^^~^^^^^^^^~>??????name??????>?age?>???country???>?gender?>~^^^^^^^^^^^^^^^^~^^^^^~^^^^^^^^^^^^^~^^^^^^^^~>?Jack?Morrison??>??49?>???America???>??male??>>?Shimada?Genji??>??35?>????Japan????>??male??>>?Shimada?Hanzo??>??38?>????Japan????>??male??>>?Angela?Ziegler?>??37?>?Switzerland?>?female?>~^^^^^^^^^^^^^^^^~^^^^^~^^^^^^^^^^^^^~^^^^^^^^~"""

到此這篇關于Python利用prettytable實現格式化輸出內容得內容就介紹到這了,更多相關Python prettytable格式化輸出內容內容請搜索之家以前得內容或繼續瀏覽下面得相關內容希望大家以后多多支持之家!

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論1 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 77777_亚洲午夜久久多人| 精品久久久无码人妻中文字幕| 国内精品一区二区三区app | 亚洲色大成网站www永久男同| 欧美精品一区二区久久| freee×xx性欧美| 伊人久久久久久久久香港 | 日本韩国三级在线| 国产福利在线导航| 久久国产高清字幕中文| 国产中文字幕在线观看| 成年在线网站免费观看无广告 | 日本娇小videos精品| 色黄网站aaaaaa级毛片| 三级伦理在线播放| 免费又黄又爽又猛的毛片| 在线看免费毛片| 欧美freesex黑人又粗超长| 麻豆工作室传媒| 中文字幕日韩wm二在线看| 国亚洲欧美日韩精品| 大女小娟二女小妍| 欧美va天堂视频在线| 荡公乱妇蒂芙尼中文字幕| а天堂中文最新版在线| 亚洲免费视频网站| 国产va免费精品高清在线观看 | 99re视频精品全部免费| 亚洲午夜精品久久久久久人妖 | 日本精品少妇一区二区三区| 精品综合久久久久久97| 18女人腿打开无遮挡网站| 久久国产乱子伦精品免费一| 国产一区二区三区不卡av| 天堂草原电视剧在线观看免费 | 精品日本一区二区三区在线观看| 久久精品九九亚洲精品| 动漫成年美女黄漫网站国产| 国产福利免费视频| 奇米影视亚洲春色| 最近免费中文字幕大全高清10|