python之prettytable模块格式化打印

python之prettytable模块

python的prettytable模块可以让我们更加清晰的将数据记录格式化打印出来,今天简单看下这个模块的使用方法。

注意:使用前需要引入包

from prettytable import PrettyTable

from prettytable import from_csv

如果对应的python包不存在,则需要通过:

pip install prettytable

来进行安装。

方法一、直接添加列名字和数据记录

from prettytable import PrettyTable
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

# 直接输入行和列进行排列
table = PrettyTable()
table.field_names = ["姓名", "年龄", "性别", "身高"]

table.add_row(["yeyz", 26, '男', 182])
table.add_row(["任盈盈", 27, '女', 172])
table.add_row(["杨过", 28, '男', 175])

# 添加一个列
table.add_column("成绩", [60, 70, 80])
print table

输出结果如下:

+--------+------+------+------+----+
|  姓名  | 年龄 | 性别 | 身高 |  成绩   |
+--------+------+------+------+----+
|  yeyz  |  26  |  男  | 182  | 60 |
| 任盈盈 |  27  |  女  | 172  | 70 |
|  杨过  |  28  |  男  | 175  | 80 |
+--------+------+------+------+----+

Process finished with exit code 0

可以看到:

通过field_names可以将列名称给列出来

通过add_row函数可以将记录添加到表格里面

通过add_column可以给这个表添加数据记录

方法二、通过加载csv文件来格式化输出数据

from prettytable import PrettyTable
from prettytable import from_csv
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

# 通过一个文件进行添加
'''
+--------+------+------+------+------+
|  姓名  | 年龄 | 性别 | 身高 | 分数 |
+--------+------+------+------+------+
| 刘德华 |  56  |  男  | 165  |  30  |
| 张学友 |  50  |  男  |  65  |  80  |
| 周杰伦 |  38  |  男  | 170  |  90  |
|  黎明  |  40  |  男  | 180  | 100  |
+--------+------+------+------+------+
'''

table1 = PrettyTable()
csv_file = open('csv_file.csv', 'r')
print csv_file
table1 = from_csv(csv_file)
print table1

输出结果如下:

+--------+------+------+------+------+
|  姓名  | 年龄 | 性别 | 身高 | 分数 |
+--------+------+------+------+------+
| 刘德华 |  56  |  男  | 165  |  30  |
| 张学友 |  50  |  男  |  65  |  80  |
| 周杰伦 |  38  |  男  | 170  |  90  |
|  黎明  |  40  |  男  | 180  | 100  |
+--------+------+------+------+------+
posted @ 2020-10-19 22:31  公众号海哥python  阅读(637)  评论(1编辑  收藏  举报