zoukankan      html  css  js  c++  java
  • 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  |
    +--------+------+------+------+------+
  • 相关阅读:
    Java对MongoDB的CRUD
    MongoDB数据库基本用法
    MySQL order by 排序结果不正确
    Linux shell 脚本 eq,ne,le,ge,lt,gt意义
    Linux shell 命令运行符 &,;,&& 区别
    Linux netstat 命令详解
    Linux ss 命令详解
    Linux sort 命令详解
    Linux sed 命令详解
    Linux xargs 命令详解
  • 原文地址:https://www.cnblogs.com/lianhaifeng/p/13843589.html
Copyright © 2011-2022 走看看