Python——PrettyTable
目錄
一、說明
二、安裝
三、導(dǎo)入
四、基本使用?
? ? ? ? 1、創(chuàng)建表格
? ? ? ? 2、設(shè)置表的名稱
? ? ? ? 3、按行/列添加數(shù)據(jù):?
? ? ? ? 4、一次性添加多行
? ? ? ? 5、根據(jù)CSV導(dǎo)入
? ? ? ? ?6、從數(shù)據(jù)庫中導(dǎo)入
? ? ? ? 7、表數(shù)據(jù)的刪除
? ? ? ? 8、顯示表格
????????9、顯示指定的列?
?? ? ? ? 10、顯示指定的行
一、說明
????????PrettyTable 是python中的一個(gè)第三方庫,可用來生成美觀的ASCII格式的表格,十分實(shí)用
二、安裝
????????使用pip即可十分方便的安裝PrettyTable(命令行窗口安裝),如下:
????????先windows+R打開命令行窗口
????????然后輸入pip install PrettyTable
pip install PrettyTable三、導(dǎo)入
????????from prettytable import PrettyTable 或者 import prettytable as pt
四、基本使用?
? ? ? ? 1、創(chuàng)建表格
創(chuàng)建表:tb = pt.PrettyTable()或x = PrettyTable()按行/列添加數(shù)據(jù):tb.add_row( <llist> )tb.add_column( <llist> )? ? ? ? 2、設(shè)置表的名稱
x.title = 'Table 1 City Info'? ? ? ? 3、按行/列添加數(shù)據(jù):?
>>> ## 按行添加數(shù)據(jù) ... tb = pt.PrettyTable() >>> tb.field_names = ["City name", "Area", "Population", "Annual Rainfall"] >>> tb.add_row(["Adelaide",1295, 1158259, 600.5]) >>> tb.add_row(["Brisbane",5905, 1857594, 1146.4]) >>> tb.add_row(["Darwin", 112, 120900, 1714.7]) >>> tb.add_row(["Hobart", 1357, 205556,619.5]) >>> >>> print(tb) +-----------+------+------------+-----------------+ | City name | Area | Population | Annual Rainfall | +-----------+------+------------+-----------------+ | Adelaide | 1295 | 1158259 | 600.5 | | Brisbane | 5905 | 1857594 | 1146.4 | | Darwin | 112 | 120900 | 1714.7 | | Hobart | 1357 | 205556 | 619.5 | +-----------+------+------------+-----------------+ >>> >>> ## 按列添加數(shù)據(jù) ... tb.add_column('index',[1,2,3,4]) >>> print(tb) +-----------+------+------------+-----------------+-------+ | City name | Area | Population | Annual Rainfall | index | +-----------+------+------------+-----------------+-------+ | Adelaide | 1295 | 1158259 | 600.5 | 1 | | Brisbane | 5905 | 1857594 | 1146.4 | 2 | | Darwin | 112 | 120900 | 1714.7 | 3 | | Hobart | 1357 | 205556 | 619.5 | 4 | +-----------+------+------------+-----------------+-------+ >>>? ? ? ? 4、一次性添加多行
x.field_names = ["City name", "Area", "Population", "Annual Rainfall"] x.add_rows([["Adelaide", 1295, 1158259, 600.5],["Brisbane", 5905, 1857594, 1146.4],["Darwin", 112, 120900, 1714.7],["Hobart", 1357, 205556, 619.5],["Sydney", 2058, 4336374, 1214.8],["Melbourne", 1566, 3806092, 646.9],["Perth", 5386, 1554769, 869.4],] )? ? ?注意:add_column的第一個(gè)參數(shù)表示列的字段名,為字符串,第二個(gè)參數(shù)為列表,即添加到該列的數(shù)據(jù)。沒有一次性添加多列的方法。
? ? ? ? 5、根據(jù)CSV導(dǎo)入
????????????????PrettyTable不僅提供了手動(dòng)按行按列添加數(shù)據(jù),也支持直接從csv文件中讀取數(shù)據(jù),需要注意的是,字符串需要加上引號(hào)。如果要讀取cvs文件數(shù)據(jù),必須要先導(dǎo)入from_csv,否則無法運(yùn)行
from prettytable import from_csv with open("CityInfo.csv") as fp:mytable = from_csv(fp) print(mytable)? ? ? ? ?6、從數(shù)據(jù)庫中導(dǎo)入
????????????????從數(shù)據(jù)庫查詢出來的數(shù)據(jù)可以直接導(dǎo)入到表格打印
#!/usr/bin/python #**coding:utf-8** import sys from prettytable import PrettyTable from prettytable import from_db_cursor import sqlite3 reload(sys) sys.setdefaultencoding('utf8')conn = sqlite3.connect("/tmp/aliyun.db") cur = conn.cursor() cur.execute("SELECT * FROM res") table = from_db_cursor(cur) print(table)+------+----------+----------+------------+
| 編號(hào) | ?云編號(hào) ?| ? 名稱 ? | ? IP地址 ? |
+------+----------+----------+------------+
| ?1 ? | server01 | 服務(wù)器01 | 172.16.0.1 |
| ?2 ? | server02 | 服務(wù)器02 | 172.16.0.2 |
| ?3 ? | server03 | 服務(wù)器03 | 172.16.0.3 |
| ?4 ? | server04 | 服務(wù)器04 | 172.16.0.4 |
| ?5 ? | server05 | 服務(wù)器05 | 172.16.0.5 |
| ?6 ? | server06 | 服務(wù)器06 | 172.16.0.6 |
| ?7 ? | server07 | 服務(wù)器07 | 172.16.0.7 |
| ?8 ? | server08 | 服務(wù)器08 | 172.16.0.8 |
| ?9 ? | server09 | 服務(wù)器09 | 172.16.0.9 |
+------+----------+----------+------------+?
? ? ? ? 7、表數(shù)據(jù)的刪除
???prettytable提供四種方法用于刪除數(shù)據(jù):
del_row:刪除某行,允許傳入一個(gè)整數(shù)參數(shù),(從0開始)。
del_column:刪除某列,允許傳入一個(gè)字符串,表示要?jiǎng)h除的列的字段名。
clear_rows:刪除所有數(shù)據(jù),但保存列的字段名。
clear:刪除所有數(shù)據(jù),包括列的字段名。
? ? ? ? 8、顯示表格
print(x) mystring = x.get_string()get_string()函數(shù)可以將上面print的結(jié)果直接轉(zhuǎn)化為字符串,可以將這個(gè)結(jié)果寫到文本文件里。當(dāng)然也可以打印出來。
print(x.get_string())????????9、顯示指定的列?
print(x.get_string(fields=["City name", "Population"]))
? ? ? ? 10、顯示指定的行
print(x.get_string(start=1, end=4))
?
總結(jié)
以上是生活随笔為你收集整理的Python——PrettyTable的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html5.js让IE(包括IE6)支持
- 下一篇: css 中 的作用