一、简介

PrettyTable 是python中的一个第三方库,可用来生成美观的ASCII格式的表格。

二、安装

pip install prettytable

三、导入

from prettytable import PrettyTable

四、使用

# 创建表:

tb = pt.PrettyTable()

# 按行添加数据:

tb.add_row()

# 按列添加数据:

tb.add_column()

五、示例

(1)按行添加数据

import prettytable as pt

tb = pt.PrettyTable(['班级', '姓名', '性别', '科目', '成绩'])

# tb = pt.PrettyTable()

# tb.field_names = ['班级', '姓名', '性别', '科目', '成绩']

tb.add_row(['15级1班', '小明', '男', '语文', 120])

tb.add_row(['15级2班', '小红', '女', '英语', 98])

tb.add_row(['16级1班', '张三', '男', '数学', 143])

tb.add_row(['17级6班', '李四', '男', '数学', 130])

print(tb)

按行添加数据

(2)按列添加数据

import prettytable as pt

tb = pt.PrettyTable()

tb.add_column('班级', ['15级1班', '15级2班', '16级1班', '17级6班'])

tb.add_column('姓名', ['小明', '小红', '张三', '李四'])

tb.add_column('性别', ['男', '女', '男', '男'])

tb.add_column('科目', ['语文', '英语', '数学', '数学'])

tb.add_column('成绩', [120, 98, 143, 130])

print(tb)

按列添加数据

(3)注意

这里

tb = pt.PrettyTable(["班级", "姓名", "性别", "科目", "成绩"])

相当于

tb = pt.PrettyTable()

tb.field_names = ["班级", "姓名", "性别", "科目", "成绩"]

如果没有添加表头,那么会以默认的Field+编号显示,编号从1开始。

六、从csv文件添加数据

PrettyTable不仅提供了手动按行按列添加数据,也支持直接从csv文件中读取数据。

import prettytable as pt

with open('res.csv', 'r') as f:

table = pt.from_csv(fp)

print(table)

注意:csv文件不能通过xls直接重命名得到,会报错。如果是xls文件,请用另存为csv获得csv文件

七、从sql查询值添加

从数据库查询出来的数据以表格形式打印,下例使用的是sqlite3,mysql也支持。

import sqlite3

from prettytable import from_db_cursor

conn = sqlite3.connect("/sqlite.db")

cur = conn.cursor()

cur.execute("SELECT * FROM myDatabase")

table = from_db_cursor(cur)

print(table)

八、从HTML导入数据

from prettytable import from_html

html_string='''

code uuid name IP
1 server01 server-01 192.168.100.1
2 server02 server-02 192.168.100.2

'''

table = from_html(html_string)

print(table[0])

导入 html 的表格,但是不一样的地方是 print 语句,使用 html 表格导入数据的时候 print 的必须是列表中的第一个元素,否则有可能会报[]这样的错误。

九、选择性输出

有选择的输出某些特定的行。

## 输出指定的列

print(table.get_string(fields=["Area", "Population"]))

## 输出指定的行,start 和 end 参数可以自由控制显示区间

print(table.get_string(start = 0, end = 2))

## 将表格切片

new_table = table[0:2]

print(new_table)

## 输出排序

print(table.get_string(sortby="City name", reversesort=True))

## 其中 reversesort 指定了是否倒序排序,默认为 False,即默认正序列排序。sortby 指定了排序的字段。

python中prettytable模块_PrettyTable模块相关推荐

  1. Python中的类、模块和包究竟是什么?

    Python培训教程:Python中的类.模块和包究竟是什么?在Python和其他编程语言中,都有类似或相同的概念,如对象.类.模块.包,名称都是一样的,只不过会有细微的一些区别,正是因为有这些存在, ...

  2. Python中爬虫框架或模块的区别

    Python中爬虫框架或模块的区别,我们在Python的学习过程中,需要不断的总结知识点,这样我们才能进步的更快一些. (1)爬虫框架或模块 Python自带爬虫模块:urllib.urllib2; ...

  3. Python中os和shutil模块实用方法集锦

    Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...

  4. 对于python来说、一个模块就是一个文件-PYTHON中的包和模块

    为了更加友好的对python代码进行组织管理,python中出现了包和模块的概念 类似生活中整理我们的物品一样,将代码按照不同的功能进行整理整合,可以很大程度的提升代码可读性和代码质量,方便在项目中进 ...

  5. Python中爬虫框架或模块的区别!

    Python中爬虫框架或模块的区别,我们在Python的学习过程中,需要不断的总结知识点,这样我们才能进步的更快一些. (1)爬虫框架或模块 Python自带爬虫模块:urllib.urllib2; ...

  6. python怎么导入模块-Python中如何引入第三方模块

    Python中怎么使用第三方模块? 在Python可以在代码中导入模块,然后就可以使用第三方模块了. import 语句 想使用Python源文件,只需在另一个源文件里执行import语句,语法如下: ...

  7. python中根据字符串导入模块module

    python中根据字符串导入模块module 需要导入importlib,使用其中的import_module方法 import importlibmodname = 'datetime'dateti ...

  8. python中glob模块怎么下_如何在Python中使用glob.glob模块搜索子文件夹?

    如何在Python中使用glob.glob模块搜索子文件夹? 我想在文件夹中打开一系列子文件夹,找到一些文本文件并打印一些文本文件行. 我用这个: configfiles = glob.glob('C ...

  9. python保存变量sklearn.externals_如何利用python中的sklearn.externals 模块保存加载训练模型...

    前提:在做模型训练的时候,尤其是在训练集上做交叉验证,通常想要将模型保存下来,然后放到独立的测试集上进行测试,本文主要介绍如何利用python中的sklearn.externals 模块保存训练模型, ...

  10. python six模块详解_对python中的six.moves模块的下载函数urlretrieve详解

    实验环境:windows 7,anaconda 3(python 3.5),tensorflow(gpu/cpu) 函数介绍:所用函数为six.moves下的urllib中的函数,调用如下urllib ...

最新文章

  1. Oracle中的字符处理方法
  2. Qt学习(五):TCP通信
  3. 机器知道哪吒是部电影吗?解读阿里巴巴概念图谱AliCG
  4. GDI+ 学习记录(10): 线性渐变画刷 - LinearGradientBrush
  5. 用 Span 对 C# 进程中三大内存区域进行统一访问 ,太厉害了!
  6. 告别Demo项目,参与真实AI企业项目
  7. archLinux 安装拼音输入法
  8. js sdk demo java_微信JS-SDK DEMO页面和示例代码
  9. java 正则表达式 提取ip_使用正则表达式从字符串中提取IP地址
  10. Spring Boot 国际化踩坑指南
  11. 小恐龙游戏python_自动玩Chrome浏览器的小恐龙游戏
  12. 引领盲返消费新潮流,共创社交电商新时代
  13. ubuntu/linux下打包压缩war、解压war包和jar命令
  14. 01_Go语言基础学习_Golang语言特性、环境搭建、第一个Go程序、包
  15. 简单(静态)工厂模式
  16. 如何针对时间片论法进行优化
  17. 图形学(4)多边形的扫描转换(上)
  18. 邵阳一中2021高考成绩查询,2021年邵阳高考最高分多少分,历年邵阳高考状元
  19. 蓝桥杯真题 19省2-年号字串 小明用字母 A 对应数字 1, B 对应 2,以此类推,用 Z 对应 26。对于 27以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27, AB
  20. 四川途志:刚注册的抖音号运营需要养号吗?

热门文章

  1. android自定义秒表,Android实现的秒表计时器示例
  2. Win7桌面显示音乐波动 - 音频频谱分析仪
  3. DXperience的汉化步骤,相当简单
  4. 小红书3大新功能上线,提升笔记转化率和品牌投放效果
  5. PHP查询附近的人及其距离的实现方法
  6. 奔三的你,是否还年轻
  7. 【英语:基础高阶_全场景覆盖表达】K9.口语主题陈述——饮食健康类
  8. pytorch 加权BCE_loss和加权CE_loss实现
  9. c++初学基础小知识
  10. 规则引擎 Drools--决策表(Decision Table)使用简介